Home / Type/ SelectorFailureBehavior Type — netty Architecture

SelectorFailureBehavior Type — netty Architecture

Architecture documentation for the SelectorFailureBehavior type/interface in ApplicationProtocolConfig.java from the netty codebase.

Entity Profile

Dependency Diagram

graph TD
  d18e772b_1146_bac1_11e4_e509f00c090d["SelectorFailureBehavior"]
  2474a000_4a8d_fe84_9f89_3248f716144a["ApplicationProtocolConfig.java"]
  d18e772b_1146_bac1_11e4_e509f00c090d -->|defined in| 2474a000_4a8d_fe84_9f89_3248f716144a
  style d18e772b_1146_bac1_11e4_e509f00c090d fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

handler/src/main/java/io/netty/handler/ssl/ApplicationProtocolConfig.java lines 107–131

    public enum SelectorFailureBehavior {
        /**
         * If the peer who selects the application protocol doesn't find a match this will result in the failing the
         * handshake with a fatal alert.
         * <p>
         * For example in the case of ALPN this will result in a
         * <a herf="https://tools.ietf.org/html/rfc7301#section-3.2">no_application_protocol(120)</a> alert.
         */
        FATAL_ALERT,
        /**
         * If the peer who selects the application protocol doesn't find a match it will pretend no to support
         * the TLS extension by not advertising support for the TLS extension in the handshake. This is used in cases
         * where a "best effort" is desired to talk even if there is no matching protocol.
         */
        NO_ADVERTISE,
        /**
         * If the peer who selects the application protocol doesn't find a match it will just select the last protocol
         * it advertised support for. This is used in cases where a "best effort" is desired to talk even if there
         * is no matching protocol, and the assumption is the "most general" fallback protocol is typically listed last.
         * <p>
         * This may be <a href="https://tools.ietf.org/html/rfc7301#section-3.2">illegal for some RFCs</a> but was
         * observed behavior by some SSL implementations, and is supported for flexibility/compatibility.
         */
        CHOOSE_MY_LAST_PROTOCOL
    }

Frequently Asked Questions

What is the SelectorFailureBehavior type?
SelectorFailureBehavior is a type/interface in the netty codebase, defined in handler/src/main/java/io/netty/handler/ssl/ApplicationProtocolConfig.java.
Where is SelectorFailureBehavior defined?
SelectorFailureBehavior is defined in handler/src/main/java/io/netty/handler/ssl/ApplicationProtocolConfig.java at line 107.

Analyze Your Own Codebase

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

Try Supermodel Free