Home / Function/ testProtocol() — netty Function Reference

testProtocol() — netty Function Reference

Architecture documentation for the testProtocol() function in SSLEngineTest.java from the netty codebase.

Function java Buffer Allocators calls 5 called by 2

Entity Profile

Dependency Diagram

graph TD
  a3e37cac_f0f9_6df0_2442_2e6c0ca1b5a8["testProtocol()"]
  9150c92a_2afc_b83a_c3bf_86dfac6e9d9b["SSLEngineTest"]
  a3e37cac_f0f9_6df0_2442_2e6c0ca1b5a8 -->|defined in| 9150c92a_2afc_b83a_c3bf_86dfac6e9d9b
  636e5a64_8aa1_31a2_33ee_22a281b710d6["testProtocolMatch()"]
  636e5a64_8aa1_31a2_33ee_22a281b710d6 -->|calls| a3e37cac_f0f9_6df0_2442_2e6c0ca1b5a8
  9ae4fbf1_df7f_27b8_699a_c7a8fbd5df93["testProtocolNoMatch()"]
  9ae4fbf1_df7f_27b8_699a_c7a8fbd5df93 -->|calls| a3e37cac_f0f9_6df0_2442_2e6c0ca1b5a8
  bf19737b_7dc7_9dfd_0a67_ae31448ebbe8["protocols()"]
  a3e37cac_f0f9_6df0_2442_2e6c0ca1b5a8 -->|calls| bf19737b_7dc7_9dfd_0a67_ae31448ebbe8
  7380f50e_d3f0_3078_ee65_de1cb780c79d["handshake()"]
  a3e37cac_f0f9_6df0_2442_2e6c0ca1b5a8 -->|calls| 7380f50e_d3f0_3078_ee65_de1cb780c79d
  13aca077_a788_4333_9f8b_2b1437653846["delegate()"]
  a3e37cac_f0f9_6df0_2442_2e6c0ca1b5a8 -->|calls| 13aca077_a788_4333_9f8b_2b1437653846
  87e8e20d_ffbe_f5c3_4fd0_7d8ac419206d["cleanupClientSslEngine()"]
  a3e37cac_f0f9_6df0_2442_2e6c0ca1b5a8 -->|calls| 87e8e20d_ffbe_f5c3_4fd0_7d8ac419206d
  78ad5fe5_58d2_9877_f633_22a7048c0e5e["cleanupServerSslEngine()"]
  a3e37cac_f0f9_6df0_2442_2e6c0ca1b5a8 -->|calls| 78ad5fe5_58d2_9877_f633_22a7048c0e5e
  style a3e37cac_f0f9_6df0_2442_2e6c0ca1b5a8 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

handler/src/test/java/io/netty/handler/ssl/SSLEngineTest.java lines 2214–2252

    private void testProtocol(final SSLEngineTestParam param, boolean handshakeFails,
                              String[] clientProtocols, String[] serverProtocols)
            throws Exception {
        SelfSignedCertificate cert = CachedSelfSignedCertificate.getCachedCertificate();

        clientSslCtx = wrapContext(param, SslContextBuilder
                .forClient()
                .trustManager(cert.cert())
                .sslProvider(sslClientProvider())
                .protocols(clientProtocols)
                .endpointIdentificationAlgorithm(null)
                .build());
        SSLEngine client = wrapEngine(clientSslCtx.newEngine(UnpooledByteBufAllocator.DEFAULT));

        serverSslCtx = wrapContext(param, SslContextBuilder
                .forServer(cert.certificate(), cert.privateKey())
                .sslProvider(sslServerProvider())
                .protocols(serverProtocols)
                .build());
        SSLEngine server = wrapEngine(serverSslCtx.newEngine(UnpooledByteBufAllocator.DEFAULT));

        try {
            if (handshakeFails) {
                final SSLEngine clientEngine = client;
                final SSLEngine serverEngine = server;
                assertThrows(SSLHandshakeException.class, new Executable() {
                    @Override
                    public void execute() throws Throwable {
                        handshake(param.type(), param.delegate(), clientEngine, serverEngine);
                    }
                });
            } else {
                handshake(param.type(), param.delegate(), client, server);
            }
        } finally {
            cleanupClientSslEngine(client);
            cleanupServerSslEngine(server);
        }
    }

Domain

Subdomains

Frequently Asked Questions

What does testProtocol() do?
testProtocol() is a function in the netty codebase, defined in handler/src/test/java/io/netty/handler/ssl/SSLEngineTest.java.
Where is testProtocol() defined?
testProtocol() is defined in handler/src/test/java/io/netty/handler/ssl/SSLEngineTest.java at line 2214.
What does testProtocol() call?
testProtocol() calls 5 function(s): cleanupClientSslEngine, cleanupServerSslEngine, delegate, handshake, protocols.
What calls testProtocol()?
testProtocol() is called by 2 function(s): testProtocolMatch, testProtocolNoMatch.

Analyze Your Own Codebase

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

Try Supermodel Free