fireChildRead() — netty Function Reference
Architecture documentation for the fireChildRead() function in AbstractHttp2StreamChannel.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD 733793a3_8d1b_0b74_1c34_71e2c7d99a3e["fireChildRead()"] bcb58015_0c85_17e2_f1b3_0c1ad3aaa388["AbstractHttp2StreamChannel"] 733793a3_8d1b_0b74_1c34_71e2c7d99a3e -->|defined in| bcb58015_0c85_17e2_f1b3_0c1ad3aaa388 6defa2f0_deaf_b8bb_9379_f478807d197e["isActive()"] 733793a3_8d1b_0b74_1c34_71e2c7d99a3e -->|calls| 6defa2f0_deaf_b8bb_9379_f478807d197e 061edcf4_92d7_3247_2f08_9c8c996847ae["recvBufAllocHandle()"] 733793a3_8d1b_0b74_1c34_71e2c7d99a3e -->|calls| 061edcf4_92d7_3247_2f08_9c8c996847ae a7768b47_c66a_4661_7c15_67b72fe39d9e["doRead0()"] 733793a3_8d1b_0b74_1c34_71e2c7d99a3e -->|calls| a7768b47_c66a_4661_7c15_67b72fe39d9e c954e160_2528_2625_d619_97b80679651a["maybeAddChannelToReadCompletePendingQueue()"] 733793a3_8d1b_0b74_1c34_71e2c7d99a3e -->|calls| c954e160_2528_2625_d619_97b80679651a 4373f9ff_b341_55e0_625c_45e60ac17922["notifyReadComplete()"] 733793a3_8d1b_0b74_1c34_71e2c7d99a3e -->|calls| 4373f9ff_b341_55e0_625c_45e60ac17922 style 733793a3_8d1b_0b74_1c34_71e2c7d99a3e fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
codec-http2/src/main/java/io/netty/handler/codec/http2/AbstractHttp2StreamChannel.java lines 591–617
void fireChildRead(Http2Frame frame) {
assert eventLoop().inEventLoop();
if (!isActive()) {
ReferenceCountUtil.release(frame);
} else if (readStatus != ReadStatus.IDLE) {
// If a read is in progress or has been requested, there cannot be anything in the queue,
// otherwise we would have drained it from the queue and processed it during the read cycle.
assert inboundBuffer == null || inboundBuffer.isEmpty();
final RecvByteBufAllocator.Handle allocHandle = unsafe.recvBufAllocHandle();
unsafe.doRead0(frame, allocHandle);
// We currently don't need to check for readEOS because the parent channel and child channel are limited
// to the same EventLoop thread. There are a limited number of frame types that may come after EOS is
// read (unknown, reset) and the trade off is less conditionals for the hot path (headers/data) at the
// cost of additional readComplete notifications on the rare path.
if (allocHandle.continueReading()) {
maybeAddChannelToReadCompletePendingQueue();
} else {
unsafe.notifyReadComplete(allocHandle, true, false);
}
} else {
if (inboundBuffer == null) {
inboundBuffer = new ArrayDeque<Object>(4);
}
inboundBuffer.add(frame);
}
}
Domain
Subdomains
Calls
Source
Frequently Asked Questions
What does fireChildRead() do?
fireChildRead() is a function in the netty codebase, defined in codec-http2/src/main/java/io/netty/handler/codec/http2/AbstractHttp2StreamChannel.java.
Where is fireChildRead() defined?
fireChildRead() is defined in codec-http2/src/main/java/io/netty/handler/codec/http2/AbstractHttp2StreamChannel.java at line 591.
What does fireChildRead() call?
fireChildRead() calls 5 function(s): doRead0, isActive, maybeAddChannelToReadCompletePendingQueue, notifyReadComplete, recvBufAllocHandle.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free