netty源码:(46) TailContext

TailContext是DefaultChannelPipeline中的一个内部类,它是一个ChannelInboundHandler
netty源码:(46) TailContext_第1张图片
TailContext在我们所添加的自己定义的所有ChannelInboundHandler(比如通过addLast方法)之后,是整个入栈消息处理的最后一环,也就是tail.
它的channelRead方法代码如下:
netty源码:(46) TailContext_第2张图片
它调用了onUnhandledInboundMessage方法,其代码如下:
netty源码:(46) TailContext_第3张图片
其中调用了onUnhandledInboundMessage方法,其代码如下:
netty源码:(46) TailContext_第4张图片
这个方法除了打印日志之外,唯一完成的功能就是调用ReferenceCountUtil的静态方法release释放传递给它的ByteBuf对象,这个release方法代码如下:
netty源码:(46) TailContext_第5张图片
首先判断是不是ByteBuf对象,如果是,调用其release方法,如果不是,什么都不做,直接返回false.

你可能感兴趣的:(Netty,java)