writeDynamicFrame() — netty Function Reference
Architecture documentation for the writeDynamicFrame() function in Http3FrameCodec.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD f44f2a24_b15d_496d_23b1_303e5eefeff1["writeDynamicFrame()"] 57499e74_1040_f300_12bb_215179e108be["Http3FrameCodec"] f44f2a24_b15d_496d_23b1_303e5eefeff1 -->|defined in| 57499e74_1040_f300_12bb_215179e108be f772ada9_5a1c_1f5c_b2c6_0b0a22351097["writeHeadersFrame()"] f772ada9_5a1c_1f5c_b2c6_0b0a22351097 -->|calls| f44f2a24_b15d_496d_23b1_303e5eefeff1 3a9fc200_3d56_3723_4775_8d1d240d23c5["writeSettingsFrame()"] 3a9fc200_3d56_3723_4775_8d1d240d23c5 -->|calls| f44f2a24_b15d_496d_23b1_303e5eefeff1 afb1f1c7_6160_0aef_d842_68208d48d6c3["writePushPromiseFrame()"] afb1f1c7_6160_0aef_d842_68208d48d6c3 -->|calls| f44f2a24_b15d_496d_23b1_303e5eefeff1 a234e34e_4b68_a34a_5b98_49872289b7ac["write()"] f44f2a24_b15d_496d_23b1_303e5eefeff1 -->|calls| a234e34e_4b68_a34a_5b98_49872289b7ac style f44f2a24_b15d_496d_23b1_303e5eefeff1 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
codec-http3/src/main/java/io/netty/handler/codec/http3/Http3FrameCodec.java lines 517–544
private static <T extends Http3Frame> void writeDynamicFrame(ChannelHandlerContext ctx, long type, T frame,
BiFunction<T, ByteBuf, Boolean> writer,
ChannelPromise promise) {
ByteBuf out = ctx.alloc().directBuffer();
int initialWriterIndex = out.writerIndex();
// Move 16 bytes forward as this is the maximum amount we could ever need for the type + payload length.
int payloadStartIndex = initialWriterIndex + 16;
out.writerIndex(payloadStartIndex);
if (writer.apply(frame, out)) {
int finalWriterIndex = out.writerIndex();
int payloadLength = finalWriterIndex - payloadStartIndex;
int len = numBytesForVariableLengthInteger(payloadLength);
out.writerIndex(payloadStartIndex - len);
writeVariableLengthInteger(out, payloadLength, len);
int typeLength = numBytesForVariableLengthInteger(type);
int startIndex = payloadStartIndex - len - typeLength;
out.writerIndex(startIndex);
writeVariableLengthInteger(out, type, typeLength);
out.setIndex(startIndex, finalWriterIndex);
ctx.write(out, promise);
} else {
// We failed to encode, lets release the buffer so we dont leak.
out.release();
}
}
Domain
Subdomains
Calls
Source
Frequently Asked Questions
What does writeDynamicFrame() do?
writeDynamicFrame() is a function in the netty codebase, defined in codec-http3/src/main/java/io/netty/handler/codec/http3/Http3FrameCodec.java.
Where is writeDynamicFrame() defined?
writeDynamicFrame() is defined in codec-http3/src/main/java/io/netty/handler/codec/http3/Http3FrameCodec.java at line 517.
What does writeDynamicFrame() call?
writeDynamicFrame() calls 1 function(s): write.
What calls writeDynamicFrame()?
writeDynamicFrame() is called by 3 function(s): writeHeadersFrame, writePushPromiseFrame, writeSettingsFrame.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free