Home / Class/ EmbeddedChannelHandlerContext Class — netty Architecture

EmbeddedChannelHandlerContext Class — netty Architecture

Architecture documentation for the EmbeddedChannelHandlerContext class in EmbeddedChannelHandlerContext.java from the netty codebase.

Entity Profile

Dependency Diagram

graph TD
  3d641788_8e3c_6d08_b1a6_8f6f991d8c74["EmbeddedChannelHandlerContext"]
  a5fa6a7f_1fa9_e7bd_9bfb_f848e3f9e3fa["EmbeddedChannelHandlerContext.java"]
  3d641788_8e3c_6d08_b1a6_8f6f991d8c74 -->|defined in| a5fa6a7f_1fa9_e7bd_9bfb_f848e3f9e3fa
  993d6ea1_3d0d_d9cb_621b_2aa7bbd7393e["EmbeddedChannelHandlerContext()"]
  3d641788_8e3c_6d08_b1a6_8f6f991d8c74 -->|method| 993d6ea1_3d0d_d9cb_621b_2aa7bbd7393e
  ec2a7a3f_e8a7_f56f_bcb7_ccf2fc0d0df7["handleException()"]
  3d641788_8e3c_6d08_b1a6_8f6f991d8c74 -->|method| ec2a7a3f_e8a7_f56f_bcb7_ccf2fc0d0df7
  4015adfc_c519_ec42_f0d4_8656db9733cc["attr()"]
  3d641788_8e3c_6d08_b1a6_8f6f991d8c74 -->|method| 4015adfc_c519_ec42_f0d4_8656db9733cc
  1d671004_121a_5d9e_e130_6487c382f8a0["hasAttr()"]
  3d641788_8e3c_6d08_b1a6_8f6f991d8c74 -->|method| 1d671004_121a_5d9e_e130_6487c382f8a0
  c4259c74_9fed_4ea0_2506_f00a2412f764["Channel()"]
  3d641788_8e3c_6d08_b1a6_8f6f991d8c74 -->|method| c4259c74_9fed_4ea0_2506_f00a2412f764
  31f69c6e_6d78_6119_487a_04871dc5024a["EventExecutor()"]
  3d641788_8e3c_6d08_b1a6_8f6f991d8c74 -->|method| 31f69c6e_6d78_6119_487a_04871dc5024a
  8ea88964_085a_36d1_1bcd_09b6b4ae7127["String()"]
  3d641788_8e3c_6d08_b1a6_8f6f991d8c74 -->|method| 8ea88964_085a_36d1_1bcd_09b6b4ae7127
  78aad618_53a7_d62e_5712_d780fff79513["ChannelHandler()"]
  3d641788_8e3c_6d08_b1a6_8f6f991d8c74 -->|method| 78aad618_53a7_d62e_5712_d780fff79513
  c841e6af_bfdf_efb1_c5fe_613bef9df7eb["isRemoved()"]
  3d641788_8e3c_6d08_b1a6_8f6f991d8c74 -->|method| c841e6af_bfdf_efb1_c5fe_613bef9df7eb
  aaa2d3db_95d4_d497_e415_89c6bd7c80a4["ChannelHandlerContext()"]
  3d641788_8e3c_6d08_b1a6_8f6f991d8c74 -->|method| aaa2d3db_95d4_d497_e415_89c6bd7c80a4
  e5375a1d_5843_24e1_de01_e1d02decdbee["ChannelFuture()"]
  3d641788_8e3c_6d08_b1a6_8f6f991d8c74 -->|method| e5375a1d_5843_24e1_de01_e1d02decdbee
  d92f1874_b0d3_99c9_d21e_b66a3a855bdc["ChannelPipeline()"]
  3d641788_8e3c_6d08_b1a6_8f6f991d8c74 -->|method| d92f1874_b0d3_99c9_d21e_b66a3a855bdc
  75d37357_94f5_eb26_318d_9678411aea66["ByteBufAllocator()"]
  3d641788_8e3c_6d08_b1a6_8f6f991d8c74 -->|method| 75d37357_94f5_eb26_318d_9678411aea66

Relationship Graph

Source Code

microbench/src/main/java/io/netty/microbench/channel/EmbeddedChannelHandlerContext.java lines 36–308

public abstract class EmbeddedChannelHandlerContext implements ChannelHandlerContext {
    private static final String HANDLER_NAME = "microbench-delegator-ctx";
    private final EventLoop eventLoop;
    private final Channel channel;
    private final ByteBufAllocator alloc;
    private final ChannelHandler handler;
    private SocketAddress localAddress;

    protected EmbeddedChannelHandlerContext(ByteBufAllocator alloc, ChannelHandler handler, EmbeddedChannel channel) {
        this.alloc = checkNotNull(alloc, "alloc");
        this.channel = checkNotNull(channel, "channel");
        this.handler = checkNotNull(handler, "handler");
        this.eventLoop = checkNotNull(channel.eventLoop(), "eventLoop");
    }

    protected abstract void handleException(Throwable t);

    @Override
    public final <T> Attribute<T> attr(AttributeKey<T> key) {
        return null;
    }

    @Override
    public final <T> boolean hasAttr(AttributeKey<T> key) {
        return false;
    }

    @Override
    public final Channel channel() {
        return channel;
    }

    @Override
    public final EventExecutor executor() {
        return eventLoop;
    }

    @Override
    public final String name() {
        return HANDLER_NAME;
    }

    @Override
    public final ChannelHandler handler() {
        return handler;
    }

    @Override
    public final boolean isRemoved() {
        return false;
    }

    @Override
    public final ChannelHandlerContext fireChannelRegistered() {
        return this;
    }

    @Override
    public final ChannelHandlerContext fireChannelUnregistered() {
        return this;
    }

    @Override
    public final ChannelHandlerContext fireChannelActive() {
        return this;
    }

    @Override
    public final ChannelHandlerContext fireChannelInactive() {
        return this;
    }

    @Override
    public final ChannelHandlerContext fireExceptionCaught(Throwable cause) {
        try {
            handler().exceptionCaught(this, cause);
        } catch (Exception e) {
            handleException(e);
        }
        return null;
    }

Frequently Asked Questions

What is the EmbeddedChannelHandlerContext class?
EmbeddedChannelHandlerContext is a class in the netty codebase, defined in microbench/src/main/java/io/netty/microbench/channel/EmbeddedChannelHandlerContext.java.
Where is EmbeddedChannelHandlerContext defined?
EmbeddedChannelHandlerContext is defined in microbench/src/main/java/io/netty/microbench/channel/EmbeddedChannelHandlerContext.java at line 36.

Analyze Your Own Codebase

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

Try Supermodel Free