Home / Class/ NoFailProtocolSelector Class — netty Architecture

NoFailProtocolSelector Class — netty Architecture

Architecture documentation for the NoFailProtocolSelector class in JdkBaseApplicationProtocolNegotiator.java from the netty codebase.

Entity Profile

Dependency Diagram

graph TD
  e66283ab_c884_60dd_1348_c7d8caec544e["NoFailProtocolSelector"]
  343cd5c6_735e_911b_ea1e_6891d57066f3["JdkBaseApplicationProtocolNegotiator.java"]
  e66283ab_c884_60dd_1348_c7d8caec544e -->|defined in| 343cd5c6_735e_911b_ea1e_6891d57066f3
  7d1a1892_e007_bfa0_ece0_6c1d9111dcdb["NoFailProtocolSelector()"]
  e66283ab_c884_60dd_1348_c7d8caec544e -->|method| 7d1a1892_e007_bfa0_ece0_6c1d9111dcdb
  974f8951_bc2c_b435_b8c1_fab439f74f7c["unsupported()"]
  e66283ab_c884_60dd_1348_c7d8caec544e -->|method| 974f8951_bc2c_b435_b8c1_fab439f74f7c
  dec0e4c4_e3db_dc3f_4878_c638a86a5801["String()"]
  e66283ab_c884_60dd_1348_c7d8caec544e -->|method| dec0e4c4_e3db_dc3f_4878_c638a86a5801

Relationship Graph

Source Code

handler/src/main/java/io/netty/handler/ssl/JdkBaseApplicationProtocolNegotiator.java lines 129–158

    static class NoFailProtocolSelector implements ProtocolSelector {
        private final JdkSslEngine engineWrapper;
        private final Set<String> supportedProtocols;

        NoFailProtocolSelector(JdkSslEngine engineWrapper, Set<String> supportedProtocols) {
            this.engineWrapper = engineWrapper;
            this.supportedProtocols = supportedProtocols;
        }

        @Override
        public void unsupported() {
            engineWrapper.setNegotiatedApplicationProtocol(null);
        }

        @Override
        public String select(List<String> protocols) throws Exception {
            for (String p : supportedProtocols) {
                if (protocols.contains(p)) {
                    engineWrapper.setNegotiatedApplicationProtocol(p);
                    return p;
                }
            }
            return noSelectMatchFound();
        }

        public String noSelectMatchFound() throws Exception {
            engineWrapper.setNegotiatedApplicationProtocol(null);
            return null;
        }
    }

Frequently Asked Questions

What is the NoFailProtocolSelector class?
NoFailProtocolSelector is a class in the netty codebase, defined in handler/src/main/java/io/netty/handler/ssl/JdkBaseApplicationProtocolNegotiator.java.
Where is NoFailProtocolSelector defined?
NoFailProtocolSelector is defined in handler/src/main/java/io/netty/handler/ssl/JdkBaseApplicationProtocolNegotiator.java at line 129.

Analyze Your Own Codebase

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

Try Supermodel Free