Home / Type/ ProtocolSelector Type — netty Architecture

ProtocolSelector Type — netty Architecture

Architecture documentation for the ProtocolSelector type/interface in JdkApplicationProtocolNegotiator.java from the netty codebase.

Entity Profile

Dependency Diagram

graph TD
  1933b4bd_7d08_3084_d0ae_e825b997bfe3["ProtocolSelector"]
  2970a53b_8cf0_20f8_bec3_1a06d779e2e9["JdkApplicationProtocolNegotiator.java"]
  1933b4bd_7d08_3084_d0ae_e825b997bfe3 -->|defined in| 2970a53b_8cf0_20f8_bec3_1a06d779e2e9
  style 1933b4bd_7d08_3084_d0ae_e825b997bfe3 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

handler/src/main/java/io/netty/handler/ssl/JdkApplicationProtocolNegotiator.java lines 78–95

    interface ProtocolSelector {
        /**
         * Callback invoked to let the application know that the peer does not support this
         * {@link ApplicationProtocolNegotiator}.
         */
        void unsupported();

        /**
         * Callback invoked to select the application level protocol from the {@code protocols} provided.
         *
         * @param protocols the protocols sent by the protocol advertiser
         * @return the protocol selected by this {@link ProtocolSelector}. A {@code null} value will indicate the no
         * protocols were selected but the handshake should not fail. The decision to fail the handshake is left to the
         * other end negotiating the SSL handshake.
         * @throws Exception If the {@code protocols} provide warrant failing the SSL handshake with a fatal alert.
         */
        String select(List<String> protocols) throws Exception;
    }

Frequently Asked Questions

What is the ProtocolSelector type?
ProtocolSelector is a type/interface in the netty codebase, defined in handler/src/main/java/io/netty/handler/ssl/JdkApplicationProtocolNegotiator.java.
Where is ProtocolSelector defined?
ProtocolSelector is defined in handler/src/main/java/io/netty/handler/ssl/JdkApplicationProtocolNegotiator.java at line 78.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free