Home / Function/ handleUnwrapThrowable() — netty Function Reference

handleUnwrapThrowable() — netty Function Reference

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

Function java Buffer Allocators calls 3 called by 4

Entity Profile

Dependency Diagram

graph TD
  1807eec1_6f0b_edf4_8d02_a6d15d3c18c1["handleUnwrapThrowable()"]
  d8b07a7c_44f8_c4e9_efe8_49bfae7d4af1["SslHandler"]
  1807eec1_6f0b_edf4_8d02_a6d15d3c18c1 -->|defined in| d8b07a7c_44f8_c4e9_efe8_49bfae7d4af1
  eb5ae59b_9b70_8065_9fe5_48f1bb487718["decodeJdkCompatible()"]
  eb5ae59b_9b70_8065_9fe5_48f1bb487718 -->|calls| 1807eec1_6f0b_edf4_8d02_a6d15d3c18c1
  fd6e1cff_0a80_5613_9d64_f2430d162a6b["decodeNonJdkCompatible()"]
  fd6e1cff_0a80_5613_9d64_f2430d162a6b -->|calls| 1807eec1_6f0b_edf4_8d02_a6d15d3c18c1
  8cae5f97_939d_55fc_31c2_c6131add51c2["taskError()"]
  8cae5f97_939d_55fc_31c2_c6131add51c2 -->|calls| 1807eec1_6f0b_edf4_8d02_a6d15d3c18c1
  3767fed6_8ef0_e61c_ca65_bd1e0902b8bb["resumeOnEventExecutor()"]
  3767fed6_8ef0_e61c_ca65_bd1e0902b8bb -->|calls| 1807eec1_6f0b_edf4_8d02_a6d15d3c18c1
  1b465b2e_ec05_393c_4b3a_f882c72d8cc3["wrapAndFlush()"]
  1807eec1_6f0b_edf4_8d02_a6d15d3c18c1 -->|calls| 1b465b2e_ec05_393c_4b3a_f882c72d8cc3
  ca3c58ac_45a7_24e9_d74b_140cea69627e["wrap()"]
  1807eec1_6f0b_edf4_8d02_a6d15d3c18c1 -->|calls| ca3c58ac_45a7_24e9_d74b_140cea69627e
  23ca304b_58b0_41b7_c5ca_0810728d5ede["setHandshakeFailure()"]
  1807eec1_6f0b_edf4_8d02_a6d15d3c18c1 -->|calls| 23ca304b_58b0_41b7_c5ca_0810728d5ede
  style 1807eec1_6f0b_edf4_8d02_a6d15d3c18c1 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

handler/src/main/java/io/netty/handler/ssl/SslHandler.java lines 1412–1436

    private void handleUnwrapThrowable(ChannelHandlerContext ctx, Throwable cause) {
        try {
            // We should attempt to notify the handshake failure before writing any pending data. If we are in unwrap
            // and failed during the handshake process, and we attempt to wrap, then promises will fail, and if
            // listeners immediately close the Channel then we may end up firing the handshake event after the Channel
            // has been closed.
            if (handshakePromise.tryFailure(cause)) {
                ctx.fireUserEventTriggered(new SslHandshakeCompletionEvent(cause));
            }

            // Let's check if the handler was removed in the meantime and so pendingUnencryptedWrites is null.
            if (pendingUnencryptedWrites != null) {
                // We need to flush one time as there may be an alert that we should send to the remote peer because
                // of the SSLException reported here.
                wrapAndFlush(ctx);
            }
        } catch (SSLException ex) {
            logger.debug("SSLException during trying to call SSLEngine.wrap(...)" +
                    " because of an previous SSLException, ignoring...", ex);
        } finally {
            // ensure we always flush and close the channel.
            setHandshakeFailure(ctx, cause, true, false, true);
        }
        PlatformDependent.throwException(cause);
    }

Domain

Subdomains

Frequently Asked Questions

What does handleUnwrapThrowable() do?
handleUnwrapThrowable() is a function in the netty codebase, defined in handler/src/main/java/io/netty/handler/ssl/SslHandler.java.
Where is handleUnwrapThrowable() defined?
handleUnwrapThrowable() is defined in handler/src/main/java/io/netty/handler/ssl/SslHandler.java at line 1412.
What does handleUnwrapThrowable() call?
handleUnwrapThrowable() calls 3 function(s): setHandshakeFailure, wrap, wrapAndFlush.
What calls handleUnwrapThrowable()?
handleUnwrapThrowable() is called by 4 function(s): decodeJdkCompatible, decodeNonJdkCompatible, resumeOnEventExecutor, taskError.

Analyze Your Own Codebase

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

Try Supermodel Free