Http3RequestStreamInitializer Class — netty Architecture
Architecture documentation for the Http3RequestStreamInitializer class in Http3RequestStreamInitializer.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD bd0da33c_c0aa_7e79_1a49_7b0216a5fa62["Http3RequestStreamInitializer"] ffe94271_99c3_6065_1e8b_c962d2ddfb00["Http3RequestStreamInitializer.java"] bd0da33c_c0aa_7e79_1a49_7b0216a5fa62 -->|defined in| ffe94271_99c3_6065_1e8b_c962d2ddfb00 d2e6ee0d_99d1_fac4_8939_c6706a9a9fb9["initChannel()"] bd0da33c_c0aa_7e79_1a49_7b0216a5fa62 -->|method| d2e6ee0d_99d1_fac4_8939_c6706a9a9fb9 6d5d1658_48c1_b5f6_7f61_4359fef3fd40["initRequestStream()"] bd0da33c_c0aa_7e79_1a49_7b0216a5fa62 -->|method| 6d5d1658_48c1_b5f6_7f61_4359fef3fd40
Relationship Graph
Source Code
codec-http3/src/main/java/io/netty/handler/codec/http3/Http3RequestStreamInitializer.java lines 27–57
public abstract class Http3RequestStreamInitializer extends ChannelInitializer<QuicStreamChannel> {
@Override
protected final void initChannel(QuicStreamChannel ch) {
ChannelPipeline pipeline = ch.pipeline();
Http3ConnectionHandler connectionHandler = ch.parent().pipeline().get(Http3ConnectionHandler.class);
if (connectionHandler == null) {
throw new IllegalStateException("Couldn't obtain the " +
StringUtil.simpleClassName(Http3ConnectionHandler.class) + " of the parent Channel");
}
Http3RequestStreamEncodeStateValidator encodeStateValidator = new Http3RequestStreamEncodeStateValidator();
Http3RequestStreamDecodeStateValidator decodeStateValidator = new Http3RequestStreamDecodeStateValidator();
// Add the encoder and decoder in the pipeline so we can handle Http3Frames
pipeline.addLast(connectionHandler.newCodec(encodeStateValidator, decodeStateValidator));
// Add the handler that will validate what we write and receive on this stream.
pipeline.addLast(encodeStateValidator);
pipeline.addLast(decodeStateValidator);
pipeline.addLast(connectionHandler.newRequestStreamValidationHandler(ch, encodeStateValidator,
decodeStateValidator));
initRequestStream(ch);
}
/**
* Init the {@link QuicStreamChannel} to handle {@link Http3RequestStreamFrame}s. At the point of calling this
* method it is already valid to write {@link Http3RequestStreamFrame}s as the codec is already in the pipeline.
* @param ch the {QuicStreamChannel} for the request stream.
*/
protected abstract void initRequestStream(QuicStreamChannel ch);
}
Defined In
Source
Frequently Asked Questions
What is the Http3RequestStreamInitializer class?
Http3RequestStreamInitializer is a class in the netty codebase, defined in codec-http3/src/main/java/io/netty/handler/codec/http3/Http3RequestStreamInitializer.java.
Where is Http3RequestStreamInitializer defined?
Http3RequestStreamInitializer is defined in codec-http3/src/main/java/io/netty/handler/codec/http3/Http3RequestStreamInitializer.java at line 27.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free