setHandshakeSuccess() — netty Function Reference
Architecture documentation for the setHandshakeSuccess() function in SslHandler.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD 412a41a8_6a03_f301_fa41_1d7e9d8ad668["setHandshakeSuccess()"] d8b07a7c_44f8_c4e9_efe8_49bfae7d4af1["SslHandler"] 412a41a8_6a03_f301_fa41_1d7e9d8ad668 -->|defined in| d8b07a7c_44f8_c4e9_efe8_49bfae7d4af1 ca3c58ac_45a7_24e9_d74b_140cea69627e["wrap()"] ca3c58ac_45a7_24e9_d74b_140cea69627e -->|calls| 412a41a8_6a03_f301_fa41_1d7e9d8ad668 5759ad29_b25e_dc08_15d9_5d7a84356f31["wrapNonAppData()"] 5759ad29_b25e_dc08_15d9_5d7a84356f31 -->|calls| 412a41a8_6a03_f301_fa41_1d7e9d8ad668 51b61e7d_0f6d_53c7_ed6a_56a55b2ed5a7["unwrap()"] 51b61e7d_0f6d_53c7_ed6a_56a55b2ed5a7 -->|calls| 412a41a8_6a03_f301_fa41_1d7e9d8ad668 f6d3b03c_60c8_2cd1_d1f9_9e50bc567c49["setHandshakeSuccessUnwrapMarkReentry()"] f6d3b03c_60c8_2cd1_d1f9_9e50bc567c49 -->|calls| 412a41a8_6a03_f301_fa41_1d7e9d8ad668 3767fed6_8ef0_e61c_ca65_bd1e0902b8bb["resumeOnEventExecutor()"] 3767fed6_8ef0_e61c_ca65_bd1e0902b8bb -->|calls| 412a41a8_6a03_f301_fa41_1d7e9d8ad668 52f75d24_7c2b_f055_d7e7_b2cfcc304a7f["isStateSet()"] 412a41a8_6a03_f301_fa41_1d7e9d8ad668 -->|calls| 52f75d24_7c2b_f055_d7e7_b2cfcc304a7f 5fccc820_4d5c_02e0_7572_31b2a69fd790["clearState()"] 412a41a8_6a03_f301_fa41_1d7e9d8ad668 -->|calls| 5fccc820_4d5c_02e0_7572_31b2a69fd790 83a0158f_b432_6f94_08e9_4ba1d7ed442a["read()"] 412a41a8_6a03_f301_fa41_1d7e9d8ad668 -->|calls| 83a0158f_b432_6f94_08e9_4ba1d7ed442a style 412a41a8_6a03_f301_fa41_1d7e9d8ad668 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
handler/src/main/java/io/netty/handler/ssl/SslHandler.java lines 1990–2024
private boolean setHandshakeSuccess() throws SSLException {
// Our control flow may invoke this method multiple times for a single FINISHED event. For example
// wrapNonAppData may drain pendingUnencryptedWrites in wrap which transitions to handshake from FINISHED to
// NOT_HANDSHAKING which invokes setHandshakeSuccess, and then wrapNonAppData also directly invokes this method.
final SSLSession session = engine.getSession();
if (resumptionController != null && !handshakePromise.isDone()) {
try {
if (resumptionController.validateResumeIfNeeded(engine) && logger.isDebugEnabled()) {
logger.debug("{} Resumed and reauthenticated session", ctx.channel());
}
} catch (CertificateException e) {
SSLHandshakeException exception = new SSLHandshakeException(e.getMessage());
exception.initCause(e);
throw exception;
}
}
final boolean notified = !handshakePromise.isDone() && handshakePromise.trySuccess(ctx.channel());
if (notified) {
if (logger.isDebugEnabled()) {
logger.debug(
"{} HANDSHAKEN: protocol:{} cipher suite:{}",
ctx.channel(),
session.getProtocol(),
session.getCipherSuite());
}
ctx.fireUserEventTriggered(SslHandshakeCompletionEvent.SUCCESS);
}
if (isStateSet(STATE_READ_DURING_HANDSHAKE)) {
clearState(STATE_READ_DURING_HANDSHAKE);
if (!ctx.channel().config().isAutoRead()) {
ctx.read();
}
}
return notified;
}
Domain
Subdomains
Called By
Source
Frequently Asked Questions
What does setHandshakeSuccess() do?
setHandshakeSuccess() is a function in the netty codebase, defined in handler/src/main/java/io/netty/handler/ssl/SslHandler.java.
Where is setHandshakeSuccess() defined?
setHandshakeSuccess() is defined in handler/src/main/java/io/netty/handler/ssl/SslHandler.java at line 1990.
What does setHandshakeSuccess() call?
setHandshakeSuccess() calls 3 function(s): clearState, isStateSet, read.
What calls setHandshakeSuccess()?
setHandshakeSuccess() is called by 5 function(s): resumeOnEventExecutor, setHandshakeSuccessUnwrapMarkReentry, unwrap, wrap, wrapNonAppData.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free