Home / Function/ channelRead() — netty Function Reference

channelRead() — netty Function Reference

Architecture documentation for the channelRead() function in Http2MultiplexHandler.java from the netty codebase.

Entity Profile

Dependency Diagram

graph TD
  a4fe4bba_654a_3aa2_9f5e_6a5657ed6a2d["channelRead()"]
  42ad104c_27ce_3949_598d_983571f45120["Http2MultiplexHandler"]
  a4fe4bba_654a_3aa2_9f5e_6a5657ed6a2d -->|defined in| 42ad104c_27ce_3949_598d_983571f45120
  6d465bcf_00d0_5886_8379_c985b729d3c1["onHttp2GoAwayFrame()"]
  a4fe4bba_654a_3aa2_9f5e_6a5657ed6a2d -->|calls| 6d465bcf_00d0_5886_8379_c985b729d3c1
  style a4fe4bba_654a_3aa2_9f5e_6a5657ed6a2d fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

codec-http2/src/main/java/io/netty/handler/codec/http2/Http2MultiplexHandler.java lines 167–201

    @Override
    public void channelRead(ChannelHandlerContext ctx, Object msg) throws Exception {
        parentReadInProgress = true;
        if (msg instanceof Http2StreamFrame) {
            if (msg instanceof Http2WindowUpdateFrame) {
                // We dont want to propagate update frames to the user
                return;
            }
            Http2StreamFrame streamFrame = (Http2StreamFrame) msg;
            DefaultHttp2FrameStream s =
                    (DefaultHttp2FrameStream) streamFrame.stream();

            AbstractHttp2StreamChannel channel = (AbstractHttp2StreamChannel) s.attachment;
            if (msg instanceof Http2ResetFrame || msg instanceof Http2PriorityFrame) {
                // Reset and Priority frames needs to be propagated via user events as these are not flow-controlled and
                // so must not be controlled by suppressing channel.read() on the child channel.
                channel.pipeline().fireUserEventTriggered(msg);

                // RST frames will also trigger closing of the streams which then will call
                // AbstractHttp2StreamChannel.streamClosed()
            } else {
                channel.fireChildRead(streamFrame);
            }
            return;
        }

        if (msg instanceof Http2GoAwayFrame) {
            // goaway frames will also trigger closing of the streams which then will call
            // AbstractHttp2StreamChannel.streamClosed()
            onHttp2GoAwayFrame(ctx, (Http2GoAwayFrame) msg);
        }

        // Send everything down the pipeline
        ctx.fireChannelRead(msg);
    }

Domain

Subdomains

Frequently Asked Questions

What does channelRead() do?
channelRead() is a function in the netty codebase, defined in codec-http2/src/main/java/io/netty/handler/codec/http2/Http2MultiplexHandler.java.
Where is channelRead() defined?
channelRead() is defined in codec-http2/src/main/java/io/netty/handler/codec/http2/Http2MultiplexHandler.java at line 167.
What does channelRead() call?
channelRead() calls 1 function(s): onHttp2GoAwayFrame.

Analyze Your Own Codebase

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

Try Supermodel Free