Home / Function/ handlerAdded() — netty Function Reference

handlerAdded() — netty Function Reference

Architecture documentation for the handlerAdded() function in SslHandler.java from the netty codebase.

Function java Buffer Allocators calls 4 called by 1

Entity Profile

Dependency Diagram

graph TD
  5f4e8183_7108_ca0e_bcdf_b597e4832141["handlerAdded()"]
  d8b07a7c_44f8_c4e9_efe8_49bfae7d4af1["SslHandler"]
  5f4e8183_7108_ca0e_bcdf_b597e4832141 -->|defined in| d8b07a7c_44f8_c4e9_efe8_49bfae7d4af1
  929123a6_cbbf_2997_c536_7103f0009ac0["checkDeadLock()"]
  929123a6_cbbf_2997_c536_7103f0009ac0 -->|calls| 5f4e8183_7108_ca0e_bcdf_b597e4832141
  4136e27d_b1b4_ce3c_75b4_392619b40eea["setOpensslEngineSocketFd()"]
  5f4e8183_7108_ca0e_bcdf_b597e4832141 -->|calls| 4136e27d_b1b4_ce3c_75b4_392619b40eea
  998f059b_4088_3c69_760d_e33e2b688238["startHandshakeProcessing()"]
  5f4e8183_7108_ca0e_bcdf_b597e4832141 -->|calls| 998f059b_4088_3c69_760d_e33e2b688238
  84166f3c_84f7_55f8_1980_b35bfbbc884d["channelActive()"]
  5f4e8183_7108_ca0e_bcdf_b597e4832141 -->|calls| 84166f3c_84f7_55f8_1980_b35bfbbc884d
  586d9480_c5dd_d8c2_fcc9_bd16fdeca640["setState()"]
  5f4e8183_7108_ca0e_bcdf_b597e4832141 -->|calls| 586d9480_c5dd_d8c2_fcc9_bd16fdeca640
  style 5f4e8183_7108_ca0e_bcdf_b597e4832141 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

handler/src/main/java/io/netty/handler/ssl/SslHandler.java lines 2151–2178

    @Override
    public void handlerAdded(final ChannelHandlerContext ctx) throws Exception {
        this.ctx = ctx;
        Channel channel = ctx.channel();
        pendingUnencryptedWrites = new SslHandlerCoalescingBufferQueue(channel, 16, engineType.wantsDirectBuffer) {
            @Override
            protected int wrapDataSize() {
                return SslHandler.this.wrapDataSize;
            }
        };

        setOpensslEngineSocketFd(channel);
        boolean fastOpen = Boolean.TRUE.equals(channel.config().getOption(ChannelOption.TCP_FASTOPEN_CONNECT));
        boolean active = channel.isActive();
        if (active || fastOpen) {
            // Explicitly flush the handshake only if the channel is already active.
            // With TCP Fast Open, we write to the outbound buffer before the TCP connect is established.
            // The buffer will then be flushed as part of establishing the connection, saving us a round-trip.
            startHandshakeProcessing(active);
            // If we weren't able to include client_hello in the TCP SYN (e.g. no token, disabled at the OS) we have to
            // flush pending data in the outbound buffer later in channelActive().
            final ChannelOutboundBuffer outboundBuffer;
            if (fastOpen && ((outboundBuffer = channel.unsafe().outboundBuffer()) == null ||
                    outboundBuffer.totalPendingWriteBytes() > 0)) {
                setState(STATE_NEEDS_FLUSH);
            }
        }
    }

Domain

Subdomains

Called By

Frequently Asked Questions

What does handlerAdded() do?
handlerAdded() is a function in the netty codebase, defined in handler/src/main/java/io/netty/handler/ssl/SslHandler.java.
Where is handlerAdded() defined?
handlerAdded() is defined in handler/src/main/java/io/netty/handler/ssl/SslHandler.java at line 2151.
What does handlerAdded() call?
handlerAdded() calls 4 function(s): channelActive, setOpensslEngineSocketFd, setState, startHandshakeProcessing.
What calls handlerAdded()?
handlerAdded() is called by 1 function(s): checkDeadLock.

Analyze Your Own Codebase

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

Try Supermodel Free