recvStream() — netty Function Reference
Architecture documentation for the recvStream() function in QuicheQuicChannel.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD 4c5c4c1a_01ba_f361_2baa_f00270cfb942["recvStream()"] 981bac79_4fa5_9e57_50c8_e12d0b35f6d4["QuicChannelUnsafe"] 4c5c4c1a_01ba_f361_2baa_f00270cfb942 -->|defined in| 981bac79_4fa5_9e57_50c8_e12d0b35f6d4 4cae79d3_92ee_29bb_03d0_6a120cc97031["processReceived()"] 4cae79d3_92ee_29bb_03d0_6a120cc97031 -->|calls| 4c5c4c1a_01ba_f361_2baa_f00270cfb942 0e1ca299_ed3d_8a6d_bf55_50ab173c29d7["recv()"] 0e1ca299_ed3d_8a6d_bf55_50ab173c29d7 -->|calls| 4c5c4c1a_01ba_f361_2baa_f00270cfb942 91ad4e75_1871_05d1_0e83_42ab72e107e6["growIfNeeded()"] 4c5c4c1a_01ba_f361_2baa_f00270cfb942 -->|calls| 91ad4e75_1871_05d1_0e83_42ab72e107e6 style 4c5c4c1a_01ba_f361_2baa_f00270cfb942 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
codec-classes-quic/src/main/java/io/netty/handler/codec/quic/QuicheQuicChannel.java lines 1823–1865
private void recvStream(QuicheQuicConnection conn) {
if (conn.isFreed()) {
return;
}
long connAddr = conn.address();
long readableIterator = Quiche.quiche_conn_readable(connAddr);
int totalReadable = 0;
if (readableIterator != -1) {
try {
// For streams we always process all streams when at least on read was requested.
if (recvStreamPending && streamReadable) {
for (;;) {
int readable = Quiche.quiche_stream_iter_next(
readableIterator, readableStreams);
for (int i = 0; i < readable; i++) {
long streamId = readableStreams[i];
QuicheQuicStreamChannel streamChannel = streams.get(streamId);
if (streamChannel == null) {
recvStreamPending = false;
fireChannelReadCompletePending = true;
streamChannel = addNewStreamChannel(streamId);
streamChannel.readable();
pipeline().fireChannelRead(streamChannel);
} else {
streamChannel.readable();
}
}
if (readable < readableStreams.length) {
// We did consume all readable streams.
streamReadable = false;
break;
}
if (readable > 0) {
totalReadable += readable;
}
}
}
} finally {
Quiche.quiche_stream_iter_free(readableIterator);
}
readableStreams = growIfNeeded(readableStreams, totalReadable);
}
}
Domain
Subdomains
Calls
Called By
Source
Frequently Asked Questions
What does recvStream() do?
recvStream() is a function in the netty codebase, defined in codec-classes-quic/src/main/java/io/netty/handler/codec/quic/QuicheQuicChannel.java.
Where is recvStream() defined?
recvStream() is defined in codec-classes-quic/src/main/java/io/netty/handler/codec/quic/QuicheQuicChannel.java at line 1823.
What does recvStream() call?
recvStream() calls 1 function(s): growIfNeeded.
What calls recvStream()?
recvStream() is called by 2 function(s): processReceived, recv.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free