Home / Class/ Http2MultiplexCodecStreamChannel Class — netty Architecture

Http2MultiplexCodecStreamChannel Class — netty Architecture

Architecture documentation for the Http2MultiplexCodecStreamChannel class in Http2MultiplexCodec.java from the netty codebase.

Entity Profile

Dependency Diagram

graph TD
  121670e4_25cf_704f_0b1e_212c3d247de1["Http2MultiplexCodecStreamChannel"]
  f174a7ac_d482_a233_ce3f_afc5fecf5872["Http2MultiplexCodec.java"]
  121670e4_25cf_704f_0b1e_212c3d247de1 -->|defined in| f174a7ac_d482_a233_ce3f_afc5fecf5872
  8c18f093_5f9c_9bf5_be2f_a8fadf34052c["Http2MultiplexCodecStreamChannel()"]
  121670e4_25cf_704f_0b1e_212c3d247de1 -->|method| 8c18f093_5f9c_9bf5_be2f_a8fadf34052c
  ccca6210_fc06_3549_f88b_5654251a6dbf["isParentReadInProgress()"]
  121670e4_25cf_704f_0b1e_212c3d247de1 -->|method| ccca6210_fc06_3549_f88b_5654251a6dbf
  ae92dbd7_b469_ae27_b690_b6d66f2f52e4["addChannelToReadCompletePendingQueue()"]
  121670e4_25cf_704f_0b1e_212c3d247de1 -->|method| ae92dbd7_b469_ae27_b690_b6d66f2f52e4
  625dde69_e107_04ff_2873_97b36a4f991f["ChannelHandlerContext()"]
  121670e4_25cf_704f_0b1e_212c3d247de1 -->|method| 625dde69_e107_04ff_2873_97b36a4f991f
  286a1343_05d7_23b8_e9ac_ee3b54ed69bc["ChannelFuture()"]
  121670e4_25cf_704f_0b1e_212c3d247de1 -->|method| 286a1343_05d7_23b8_e9ac_ee3b54ed69bc
  df67733b_c5a8_a9ae_8238_2ffec727fd6f["flush0()"]
  121670e4_25cf_704f_0b1e_212c3d247de1 -->|method| df67733b_c5a8_a9ae_8238_2ffec727fd6f

Relationship Graph

Source Code

codec-http2/src/main/java/io/netty/handler/codec/http2/Http2MultiplexCodec.java lines 307–343

    private final class Http2MultiplexCodecStreamChannel extends AbstractHttp2StreamChannel {

        Http2MultiplexCodecStreamChannel(DefaultHttp2FrameStream stream, ChannelHandler inboundHandler) {
            super(stream, ++idCount, inboundHandler);
        }

        @Override
        protected boolean isParentReadInProgress() {
            return parentReadInProgress;
        }

        @Override
        protected void addChannelToReadCompletePendingQueue() {
            // If there is no space left in the queue, just keep on processing everything that is already
            // stored there and try again.
            while (!readCompletePendingQueue.offer(this)) {
                processPendingReadCompleteQueue();
            }
        }

        @Override
        protected ChannelHandlerContext parentContext() {
            return ctx;
        }

        @Override
        protected ChannelFuture write0(ChannelHandlerContext ctx, Object msg) {
            ChannelPromise promise = ctx.newPromise();
            Http2MultiplexCodec.this.write(ctx, msg, promise);
            return promise;
        }

        @Override
        protected void flush0(ChannelHandlerContext ctx) {
            Http2MultiplexCodec.this.flush0(ctx);
        }
    }

Frequently Asked Questions

What is the Http2MultiplexCodecStreamChannel class?
Http2MultiplexCodecStreamChannel is a class in the netty codebase, defined in codec-http2/src/main/java/io/netty/handler/codec/http2/Http2MultiplexCodec.java.
Where is Http2MultiplexCodecStreamChannel defined?
Http2MultiplexCodecStreamChannel is defined in codec-http2/src/main/java/io/netty/handler/codec/http2/Http2MultiplexCodec.java at line 307.

Analyze Your Own Codebase

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

Try Supermodel Free