Home / Function/ select() — netty Function Reference

select() — netty Function Reference

Architecture documentation for the select() function in SslClientHelloHandler.java from the netty codebase.

Function java Buffer Allocators calls 4 called by 1

Entity Profile

Dependency Diagram

graph TD
  0d8db5ff_601a_a9ee_8f6b_b642c82a3338["select()"]
  4135ba3a_6a80_65ac_0a45_d76f228bf4b3["SslClientHelloHandler"]
  0d8db5ff_601a_a9ee_8f6b_b642c82a3338 -->|defined in| 4135ba3a_6a80_65ac_0a45_d76f228bf4b3
  fc4692ec_d0ce_218f_173c_dac045c2e3db["decode()"]
  fc4692ec_d0ce_218f_173c_dac045c2e3db -->|calls| 0d8db5ff_601a_a9ee_8f6b_b642c82a3338
  fe7fefdf_0409_b17b_3b5c_9b5bdd163e17["lookup()"]
  0d8db5ff_601a_a9ee_8f6b_b642c82a3338 -->|calls| fe7fefdf_0409_b17b_3b5c_9b5bdd163e17
  3bf6f621_6e8a_91c3_a949_a3b14cedf419["onLookupComplete()"]
  0d8db5ff_601a_a9ee_8f6b_b642c82a3338 -->|calls| 3bf6f621_6e8a_91c3_a949_a3b14cedf419
  aad0c403_9665_0039_bb8e_9dc3ca43c8f9["releaseIfNotNull()"]
  0d8db5ff_601a_a9ee_8f6b_b642c82a3338 -->|calls| aad0c403_9665_0039_bb8e_9dc3ca43c8f9
  5e320866_c45e_a161_a4a6_288d9108c0f0["read()"]
  0d8db5ff_601a_a9ee_8f6b_b642c82a3338 -->|calls| 5e320866_c45e_a161_a4a6_288d9108c0f0
  style 0d8db5ff_601a_a9ee_8f6b_b642c82a3338 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

handler/src/main/java/io/netty/handler/ssl/SslClientHelloHandler.java lines 217–255

    private void select(final ChannelHandlerContext ctx, ByteBuf clientHello) throws Exception {
        final Future<T> future;
        try {
            future = lookup(ctx, clientHello);
            if (future.isDone()) {
                onLookupComplete(ctx, future);
            } else {
                suppressRead = true;
                final ByteBuf finalClientHello = clientHello;
                future.addListener((FutureListener<T>) future1 -> {
                    releaseIfNotNull(finalClientHello);
                    try {
                        suppressRead = false;
                        try {
                            onLookupComplete(ctx, future1);
                        } catch (DecoderException err) {
                            ctx.fireExceptionCaught(err);
                        } catch (Exception cause) {
                            ctx.fireExceptionCaught(new DecoderException(cause));
                        } catch (Throwable cause) {
                            ctx.fireExceptionCaught(cause);
                        }
                    } finally {
                        if (readPending) {
                            readPending = false;
                            ctx.read();
                        }
                    }
                });

                // Ownership was transferred to the FutureListener.
                clientHello = null;
            }
        } catch (Throwable cause) {
            PlatformDependent.throwException(cause);
        } finally {
            releaseIfNotNull(clientHello);
        }
    }

Domain

Subdomains

Called By

Frequently Asked Questions

What does select() do?
select() is a function in the netty codebase, defined in handler/src/main/java/io/netty/handler/ssl/SslClientHelloHandler.java.
Where is select() defined?
select() is defined in handler/src/main/java/io/netty/handler/ssl/SslClientHelloHandler.java at line 217.
What does select() call?
select() calls 4 function(s): lookup, onLookupComplete, read, releaseIfNotNull.
What calls select()?
select() is called by 1 function(s): decode.

Analyze Your Own Codebase

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

Try Supermodel Free