0
点赞
收藏
分享

微信扫一扫

netty源码:(46) TailContext


TailContext是DefaultChannelPipeline中的一个内部类,它是一个ChannelInboundHandler

netty源码:(46) TailContext_入栈


TailContext在我们所添加的自己定义的所有ChannelInboundHandler(比如通过addLast方法)之后,是整个入栈消息处理的最后一环,也就是tail.

它的channelRead方法代码如下:

netty源码:(46) TailContext_消息处理_02


它调用了onUnhandledInboundMessage方法,其代码如下:

netty源码:(46) TailContext_入栈_03


其中调用了onUnhandledInboundMessage方法,其代码如下:

netty源码:(46) TailContext_java_04


这个方法除了打印日志之外,唯一完成的功能就是调用ReferenceCountUtil的静态方法release释放传递给它的ByteBuf对象,这个release方法代码如下:

netty源码:(46) TailContext_消息处理_05


首先判断是不是ByteBuf对象,如果是,调用其release方法,如果不是,什么都不做,直接返回false.


举报

相关推荐

0 条评论