Http2DataChunkedInput Class — netty Architecture
Architecture documentation for the Http2DataChunkedInput class in Http2DataChunkedInput.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD d0e69f3e_3758_33e6_945f_1613e66f04e7["Http2DataChunkedInput"] 28b776d3_d72a_08f8_7a4c_3cb4ed8a5e34["Http2DataChunkedInput.java"] d0e69f3e_3758_33e6_945f_1613e66f04e7 -->|defined in| 28b776d3_d72a_08f8_7a4c_3cb4ed8a5e34 32b02281_4dc8_17ee_c49a_9cc58cd8a94e["Http2DataChunkedInput()"] d0e69f3e_3758_33e6_945f_1613e66f04e7 -->|method| 32b02281_4dc8_17ee_c49a_9cc58cd8a94e eeb37355_6306_8994_70ef_9a78b80bc5dc["isEndOfInput()"] d0e69f3e_3758_33e6_945f_1613e66f04e7 -->|method| eeb37355_6306_8994_70ef_9a78b80bc5dc 62f5a218_76ab_92c5_1075_0993b8e27df5["close()"] d0e69f3e_3758_33e6_945f_1613e66f04e7 -->|method| 62f5a218_76ab_92c5_1075_0993b8e27df5 965f6236_7052_15d8_bdb4_221f6abd62cd["Http2DataFrame()"] d0e69f3e_3758_33e6_945f_1613e66f04e7 -->|method| 965f6236_7052_15d8_bdb4_221f6abd62cd 1627123f_9eee_c6f6_6835_7e6f258de50a["length()"] d0e69f3e_3758_33e6_945f_1613e66f04e7 -->|method| 1627123f_9eee_c6f6_6835_7e6f258de50a 8179e1c7_3f98_1f3f_e752_6a9df237e86a["progress()"] d0e69f3e_3758_33e6_945f_1613e66f04e7 -->|method| 8179e1c7_3f98_1f3f_e752_6a9df237e86a
Relationship Graph
Source Code
codec-http2/src/main/java/io/netty/handler/codec/http2/Http2DataChunkedInput.java lines 46–116
public final class Http2DataChunkedInput implements ChunkedInput<Http2DataFrame> {
private final ChunkedInput<ByteBuf> input;
private final Http2FrameStream stream;
private boolean endStreamSent;
/**
* Creates a new instance using the specified input.
*
* @param input {@link ChunkedInput} containing data to write
* @param stream {@link Http2FrameStream} holding stream info
*/
public Http2DataChunkedInput(ChunkedInput<ByteBuf> input, Http2FrameStream stream) {
this.input = ObjectUtil.checkNotNull(input, "input");
this.stream = ObjectUtil.checkNotNull(stream, "stream");
}
@Override
public boolean isEndOfInput() throws Exception {
if (input.isEndOfInput()) {
// Only end of input after last HTTP chunk has been sent
return endStreamSent;
}
return false;
}
@Override
public void close() throws Exception {
input.close();
}
@Deprecated
@Override
public Http2DataFrame readChunk(ChannelHandlerContext ctx) throws Exception {
return readChunk(ctx.alloc());
}
@Override
public Http2DataFrame readChunk(ByteBufAllocator allocator) throws Exception {
if (endStreamSent) {
return null;
}
if (input.isEndOfInput()) {
endStreamSent = true;
return new DefaultHttp2DataFrame(true).stream(stream);
}
ByteBuf buf = input.readChunk(allocator);
if (buf == null) {
return null;
}
final Http2DataFrame dataFrame = new DefaultHttp2DataFrame(buf, input.isEndOfInput()).stream(stream);
if (dataFrame.isEndStream()) {
endStreamSent = true;
}
return dataFrame;
}
@Override
public long length() {
return input.length();
}
@Override
public long progress() {
return input.progress();
}
}
Source
Frequently Asked Questions
What is the Http2DataChunkedInput class?
Http2DataChunkedInput is a class in the netty codebase, defined in codec-http2/src/main/java/io/netty/handler/codec/http2/Http2DataChunkedInput.java.
Where is Http2DataChunkedInput defined?
Http2DataChunkedInput is defined in codec-http2/src/main/java/io/netty/handler/codec/http2/Http2DataChunkedInput.java at line 46.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free