Home / Function/ setHandshakeSuccess() — netty Function Reference

setHandshakeSuccess() — netty Function Reference

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

Function java Buffer Allocators calls 3 called by 5

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

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