Home / Function/ needWrapAgain() — netty Function Reference

needWrapAgain() — netty Function Reference

Architecture documentation for the needWrapAgain() function in ReferenceCountedOpenSslEngine.java from the netty codebase.

Function java Buffer Allocators calls 1 called by 2

Entity Profile

Dependency Diagram

graph TD
  81956eeb_a1af_02d8_62af_119ce69fd3b9["needWrapAgain()"]
  df1ad81e_e5bf_85e6_4418_db301b4c3e66["ReferenceCountedOpenSslEngine"]
  81956eeb_a1af_02d8_62af_119ce69fd3b9 -->|defined in| df1ad81e_e5bf_85e6_4418_db301b4c3e66
  9f77679b_188a_ea47_0bb0_025af752e7f4["SSLEngineResult()"]
  9f77679b_188a_ea47_0bb0_025af752e7f4 -->|calls| 81956eeb_a1af_02d8_62af_119ce69fd3b9
  70ac8c99_3ca9_c202_a13f_16dda4571164["handshake()"]
  70ac8c99_3ca9_c202_a13f_16dda4571164 -->|calls| 81956eeb_a1af_02d8_62af_119ce69fd3b9
  31ef2066_2965_f474_9e08_429c86d5cf2a["shouldAddSuppressed()"]
  81956eeb_a1af_02d8_62af_119ce69fd3b9 -->|calls| 31ef2066_2965_f474_9e08_429c86d5cf2a
  style 81956eeb_a1af_02d8_62af_119ce69fd3b9 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

handler/src/main/java/io/netty/handler/ssl/ReferenceCountedOpenSslEngine.java lines 1390–1409

    private boolean needWrapAgain(int stackError) {
        // Check if we have a pending handshakeException and if so see if we need to consume all pending data from the
        // BIO first or can just shutdown and throw it now.
        // This is needed so we ensure close_notify etc is correctly send to the remote peer.
        // See https://github.com/netty/netty/issues/3900
        if (SSL.bioLengthNonApplication(networkBIO) > 0) {
            // we seem to have data left that needs to be transferred and so the user needs
            // call wrap(...). Store the error so we can pick it up later.
            if (pendingException == null) {
                pendingException = newSSLExceptionForError(stackError);
            } else if (shouldAddSuppressed(pendingException, stackError)) {
                ThrowableUtil.addSuppressed(pendingException, newSSLExceptionForError(stackError));
            }
            // We need to clear all errors so we not pick up anything that was left on the stack on the next
            // operation. Note that shutdownWithError(...) will cleanup the stack as well so its only needed here.
            SSL.clearError();
            return true;
        }
        return false;
    }

Domain

Subdomains

Frequently Asked Questions

What does needWrapAgain() do?
needWrapAgain() is a function in the netty codebase, defined in handler/src/main/java/io/netty/handler/ssl/ReferenceCountedOpenSslEngine.java.
Where is needWrapAgain() defined?
needWrapAgain() is defined in handler/src/main/java/io/netty/handler/ssl/ReferenceCountedOpenSslEngine.java at line 1390.
What does needWrapAgain() call?
needWrapAgain() calls 1 function(s): shouldAddSuppressed.
What calls needWrapAgain()?
needWrapAgain() is called by 2 function(s): SSLEngineResult, handshake.

Analyze Your Own Codebase

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

Try Supermodel Free