handleUnwrapThrowable() — netty Function Reference
Architecture documentation for the handleUnwrapThrowable() function in SslHandler.java from the netty codebase.
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
Source
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