Home / Class/ ChannelHandlerContextDispatcher Class — netty Architecture

ChannelHandlerContextDispatcher Class — netty Architecture

Architecture documentation for the ChannelHandlerContextDispatcher class in QuicCodecDispatcher.java from the netty codebase.

Entity Profile

Dependency Diagram

graph TD
  f72900d8_eb85_edf3_cf81_6ba6c94bf954["ChannelHandlerContextDispatcher"]
  a14ebc00_41a1_b954_e2ee_6cef1b775b7b["QuicCodecDispatcher.java"]
  f72900d8_eb85_edf3_cf81_6ba6c94bf954 -->|defined in| a14ebc00_41a1_b954_e2ee_6cef1b775b7b
  46b75928_94e5_915a_3dd4_003e024bf44b["ChannelHandlerContextDispatcher()"]
  f72900d8_eb85_edf3_cf81_6ba6c94bf954 -->|method| 46b75928_94e5_915a_3dd4_003e024bf44b
  68ed6307_0f73_86c8_0e40_fa33ea7b52d6["fireChannelRead()"]
  f72900d8_eb85_edf3_cf81_6ba6c94bf954 -->|method| 68ed6307_0f73_86c8_0e40_fa33ea7b52d6
  23c0d12a_8eff_cdbd_734b_cfdcfb62f546["fireChannelReadCompleteIfNeeded()"]
  f72900d8_eb85_edf3_cf81_6ba6c94bf954 -->|method| 23c0d12a_8eff_cdbd_734b_cfdcfb62f546

Relationship Graph

Source Code

codec-classes-quic/src/main/java/io/netty/handler/codec/quic/QuicCodecDispatcher.java lines 302–324

    private static final class ChannelHandlerContextDispatcher extends AtomicBoolean {

        private final ChannelHandlerContext ctx;

        ChannelHandlerContextDispatcher(ChannelHandlerContext ctx) {
            this.ctx = ctx;
        }

        void fireChannelRead(Object msg) {
            ctx.fireChannelRead(msg);
            set(true);
        }

        boolean fireChannelReadCompleteIfNeeded() {
            if (getAndSet(false)) {
                // There was a fireChannelRead() before, let's call fireChannelReadComplete()
                // so the user is aware that we might be done with the reading loop.
                ctx.fireChannelReadComplete();
                return true;
            }
            return false;
        }
    }

Frequently Asked Questions

What is the ChannelHandlerContextDispatcher class?
ChannelHandlerContextDispatcher is a class in the netty codebase, defined in codec-classes-quic/src/main/java/io/netty/handler/codec/quic/QuicCodecDispatcher.java.
Where is ChannelHandlerContextDispatcher defined?
ChannelHandlerContextDispatcher is defined in codec-classes-quic/src/main/java/io/netty/handler/codec/quic/QuicCodecDispatcher.java at line 302.

Analyze Your Own Codebase

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

Try Supermodel Free