Netty 源码阅读笔记(6) DefaultChannelPipeline

    技术2026-01-20  10

    目录

    类关系图6.1 构造方法6.1.1 TailContext6.1.2 HeadContext

    类关系图

    6.1 构造方法

    protected DefaultChannelPipeline(Channel channel) { this.channel = ObjectUtil.checkNotNull(channel, "channel"); succeededFuture = new SucceededChannelFuture(channel, null); voidPromise = new VoidChannelPromise(channel, true); //6.1.1 tail = new TailContext(this); //6.1.2 head = new HeadContext(this); head.next = tail; tail.prev = head; }

    6.1.1 TailContext

    是一个 ChannelInboundHandler,入站 handler

    final class TailContext extends AbstractChannelHandlerContext implements ChannelInboundHandler { TailContext(DefaultChannelPipeline pipeline) { super(pipeline, null, TAIL_NAME, true, false); setAddComplete(); } //...

    6.1.2 HeadContext

    既是 ChannelOutboundHandler,也是 ChannelInboundHandler

    final class HeadContext extends AbstractChannelHandlerContext implements ChannelOutboundHandler, ChannelInboundHandler { private final Unsafe unsafe; HeadContext(DefaultChannelPipeline pipeline) { super(pipeline, null, HEAD_NAME, false, true); unsafe = pipeline.channel().unsafe(); setAddComplete(); }
    Processed: 0.033, SQL: 9