Home / Function/ processReceived() — netty Function Reference

processReceived() — netty Function Reference

Architecture documentation for the processReceived() function in QuicheQuicChannel.java from the netty codebase.

Function java Buffer Allocators calls 8 called by 2

Entity Profile

Dependency Diagram

graph TD
  4cae79d3_92ee_29bb_03d0_6a120cc97031["processReceived()"]
  981bac79_4fa5_9e57_50c8_e12d0b35f6d4["QuicChannelUnsafe"]
  4cae79d3_92ee_29bb_03d0_6a120cc97031 -->|defined in| 981bac79_4fa5_9e57_50c8_e12d0b35f6d4
  c4a3c3a8_c9a0_f1c5_a6e4_d976b89450ea["connectionRecv()"]
  c4a3c3a8_c9a0_f1c5_a6e4_d976b89450ea -->|calls| 4cae79d3_92ee_29bb_03d0_6a120cc97031
  f272787f_620b_08bb_a796_d28ea6137125["Runnable()"]
  f272787f_620b_08bb_a796_d28ea6137125 -->|calls| 4cae79d3_92ee_29bb_03d0_6a120cc97031
  a4b4fcaa_9db9_acca_39f7_249f845a6b78["handlePendingChannelActive()"]
  4cae79d3_92ee_29bb_03d0_6a120cc97031 -->|calls| a4b4fcaa_9db9_acca_39f7_249f845a6b78
  964a3852_b3e7_b070_9305_753cc91a1758["notifyAboutHandshakeCompletionIfNeeded()"]
  4cae79d3_92ee_29bb_03d0_6a120cc97031 -->|calls| 964a3852_b3e7_b070_9305_753cc91a1758
  ef304e25_a25b_693c_82b3_0eb2c9334eb7["fireConnectCloseEventIfNeeded()"]
  4cae79d3_92ee_29bb_03d0_6a120cc97031 -->|calls| ef304e25_a25b_693c_82b3_0eb2c9334eb7
  e06a1624_97e7_719b_83f4_41463045636c["handlePathEvents()"]
  4cae79d3_92ee_29bb_03d0_6a120cc97031 -->|calls| e06a1624_97e7_719b_83f4_41463045636c
  800fad5b_da38_9e46_d584_579345b38410["handleWritableStreams()"]
  4cae79d3_92ee_29bb_03d0_6a120cc97031 -->|calls| 800fad5b_da38_9e46_d584_579345b38410
  d7575fb7_9073_0e3e_6ab3_7d2612f1eb16["flushParent()"]
  4cae79d3_92ee_29bb_03d0_6a120cc97031 -->|calls| d7575fb7_9073_0e3e_6ab3_7d2612f1eb16
  7ed04228_8203_18ea_57b2_766b3ee23bb7["recvDatagram()"]
  4cae79d3_92ee_29bb_03d0_6a120cc97031 -->|calls| 7ed04228_8203_18ea_57b2_766b3ee23bb7
  4c5c4c1a_01ba_f361_2baa_f00270cfb942["recvStream()"]
  4cae79d3_92ee_29bb_03d0_6a120cc97031 -->|calls| 4c5c4c1a_01ba_f361_2baa_f00270cfb942
  style 4cae79d3_92ee_29bb_03d0_6a120cc97031 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

codec-classes-quic/src/main/java/io/netty/handler/codec/quic/QuicheQuicChannel.java lines 1683–1726

        private void processReceived(QuicheQuicConnection conn) {
            // Handle pending channelActive if needed.
            if (handlePendingChannelActive(conn)) {
                // Connection was closed right away.
                return;
            }

            notifyAboutHandshakeCompletionIfNeeded(conn, null);
            fireConnectCloseEventIfNeeded(conn);

            if (conn.isFreed()) {
                return;
            }

            long connAddr = conn.address();
            if (Quiche.quiche_conn_is_established(connAddr) ||
                    Quiche.quiche_conn_is_in_early_data(connAddr)) {
                long uniLeftOld = uniStreamsLeft;
                long bidiLeftOld = bidiStreamsLeft;
                // Only fetch new stream info when we used all our credits
                if (uniLeftOld == 0 || bidiLeftOld == 0) {
                    long uniLeft = Quiche.quiche_conn_peer_streams_left_uni(connAddr);
                    long bidiLeft = Quiche.quiche_conn_peer_streams_left_bidi(connAddr);
                    uniStreamsLeft = uniLeft;
                    bidiStreamsLeft = bidiLeft;
                    if (uniLeftOld != uniLeft || bidiLeftOld != bidiLeft) {
                        pipeline().fireUserEventTriggered(QuicStreamLimitChangedEvent.INSTANCE);
                    }
                }

                handlePathEvents(conn);

                if (handleWritableStreams(conn)) {
                    // Some data was produced, let's flush.
                    flushParent();
                }

                datagramReadable = true;
                streamReadable = true;

                recvDatagram(conn);
                recvStream(conn);
            }
        }

Domain

Subdomains

Frequently Asked Questions

What does processReceived() do?
processReceived() is a function in the netty codebase, defined in codec-classes-quic/src/main/java/io/netty/handler/codec/quic/QuicheQuicChannel.java.
Where is processReceived() defined?
processReceived() is defined in codec-classes-quic/src/main/java/io/netty/handler/codec/quic/QuicheQuicChannel.java at line 1683.
What does processReceived() call?
processReceived() calls 8 function(s): fireConnectCloseEventIfNeeded, flushParent, handlePathEvents, handlePendingChannelActive, handleWritableStreams, notifyAboutHandshakeCompletionIfNeeded, recvDatagram, recvStream.
What calls processReceived()?
processReceived() is called by 2 function(s): Runnable, connectionRecv.

Analyze Your Own Codebase

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

Try Supermodel Free