Home / Class/ QPackEncoderStreamInitializer Class — netty Architecture

QPackEncoderStreamInitializer Class — netty Architecture

Architecture documentation for the QPackEncoderStreamInitializer class in Http3ControlStreamInboundHandler.java from the netty codebase.

Entity Profile

Dependency Diagram

graph TD
  b9050f4d_4c21_7b10_bb8f_333106739498["QPackEncoderStreamInitializer"]
  962d9bec_657d_ee43_1a3c_6ac7f20104fb["Http3ControlStreamInboundHandler.java"]
  b9050f4d_4c21_7b10_bb8f_333106739498 -->|defined in| 962d9bec_657d_ee43_1a3c_6ac7f20104fb
  c447d629_a110_b16a_5c8a_f16644966f96["QPackEncoderStreamInitializer()"]
  b9050f4d_4c21_7b10_bb8f_333106739498 -->|method| c447d629_a110_b16a_5c8a_f16644966f96
  bc9a24ad_24df_8f84_8c15_a0a77bd84619["streamAvailable()"]
  b9050f4d_4c21_7b10_bb8f_333106739498 -->|method| bc9a24ad_24df_8f84_8c15_a0a77bd84619
  51397383_3a96_79a6_db65_f5cf6edf7c76["streamClosed()"]
  b9050f4d_4c21_7b10_bb8f_333106739498 -->|method| 51397383_3a96_79a6_db65_f5cf6edf7c76

Relationship Graph

Source Code

codec-http3/src/main/java/io/netty/handler/codec/http3/Http3ControlStreamInboundHandler.java lines 270–302

    private static final class QPackEncoderStreamInitializer extends AbstractQPackStreamInitializer {
        private static final ClosedChannelException ENCODER_STREAM_INACTIVE =
                unknownStackTrace(new ClosedChannelException(), ClosedChannelException.class, "streamClosed()");
        private final QpackEncoder encoder;
        private final long maxTableCapacity;
        private final long blockedStreams;

        QPackEncoderStreamInitializer(QpackEncoder encoder, QpackAttributes attributes, long maxTableCapacity,
                                      long blockedStreams) {
            super(Http3CodecUtils.HTTP3_QPACK_ENCODER_STREAM_TYPE, attributes);
            this.encoder = encoder;
            this.maxTableCapacity = maxTableCapacity;
            this.blockedStreams = blockedStreams;
        }

        @Override
        protected void streamAvailable(ChannelHandlerContext ctx) {
            final QuicStreamChannel stream = (QuicStreamChannel) ctx.channel();
            attributes.encoderStream(stream);

            try {
                encoder.configureDynamicTable(attributes, maxTableCapacity, toIntOrThrow(blockedStreams));
            } catch (QpackException e) {
                connectionError(ctx, new Http3Exception(QPACK_ENCODER_STREAM_ERROR,
                        "Dynamic table configuration failed.", e), true);
            }
        }

        @Override
        protected void streamClosed(ChannelHandlerContext ctx) {
            attributes.encoderStreamInactive(ENCODER_STREAM_INACTIVE);
        }
    }

Frequently Asked Questions

What is the QPackEncoderStreamInitializer class?
QPackEncoderStreamInitializer is a class in the netty codebase, defined in codec-http3/src/main/java/io/netty/handler/codec/http3/Http3ControlStreamInboundHandler.java.
Where is QPackEncoderStreamInitializer defined?
QPackEncoderStreamInitializer is defined in codec-http3/src/main/java/io/netty/handler/codec/http3/Http3ControlStreamInboundHandler.java at line 270.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free