selectApplicationProtocol() — netty Function Reference
Architecture documentation for the selectApplicationProtocol() function in ReferenceCountedOpenSslEngine.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD 32e59755_0296_2b44_3000_4e40f149f5d1["selectApplicationProtocol()"] df1ad81e_e5bf_85e6_4418_db301b4c3e66["ReferenceCountedOpenSslEngine"] 32e59755_0296_2b44_3000_4e40f149f5d1 -->|defined in| df1ad81e_e5bf_85e6_4418_db301b4c3e66 70ac8c99_3ca9_c202_a13f_16dda4571164["handshake()"] 70ac8c99_3ca9_c202_a13f_16dda4571164 -->|calls| 32e59755_0296_2b44_3000_4e40f149f5d1 cd0a05c8_b216_ef8c_2253_a5a3425998d7["String()"] cd0a05c8_b216_ef8c_2253_a5a3425998d7 -->|calls| 32e59755_0296_2b44_3000_4e40f149f5d1 style 32e59755_0296_2b44_3000_4e40f149f5d1 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
handler/src/main/java/io/netty/handler/ssl/ReferenceCountedOpenSslEngine.java lines 2313–2349
private void selectApplicationProtocol() throws SSLException {
ApplicationProtocolConfig.SelectedListenerFailureBehavior behavior = apn.selectedListenerFailureBehavior();
List<String> protocols = apn.protocols();
String applicationProtocol;
switch (apn.protocol()) {
case NONE:
break;
// We always need to check for applicationProtocol == null as the remote peer may not support
// the TLS extension or may have returned an empty selection.
case ALPN:
applicationProtocol = SSL.getAlpnSelected(ssl);
if (applicationProtocol != null) {
this.applicationProtocol = selectApplicationProtocol(
protocols, behavior, applicationProtocol);
}
break;
case NPN:
applicationProtocol = SSL.getNextProtoNegotiated(ssl);
if (applicationProtocol != null) {
this.applicationProtocol = selectApplicationProtocol(
protocols, behavior, applicationProtocol);
}
break;
case NPN_AND_ALPN:
applicationProtocol = SSL.getAlpnSelected(ssl);
if (applicationProtocol == null) {
applicationProtocol = SSL.getNextProtoNegotiated(ssl);
}
if (applicationProtocol != null) {
this.applicationProtocol = selectApplicationProtocol(
protocols, behavior, applicationProtocol);
}
break;
default:
throw new Error("Unexpected apn protocol: " + apn.protocol());
}
}
Domain
Subdomains
Called By
Source
Frequently Asked Questions
What does selectApplicationProtocol() do?
selectApplicationProtocol() is a function in the netty codebase, defined in handler/src/main/java/io/netty/handler/ssl/ReferenceCountedOpenSslEngine.java.
Where is selectApplicationProtocol() defined?
selectApplicationProtocol() is defined in handler/src/main/java/io/netty/handler/ssl/ReferenceCountedOpenSslEngine.java at line 2313.
What calls selectApplicationProtocol()?
selectApplicationProtocol() is called by 2 function(s): String, handshake.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free