天天看点

netty源码分析 之五 transport(ChannelHandler)接口方法ChannelHandlerAdapterChannelHandlerContext 接着看AbstractChannelHandlerContext ChannelHandlerInvokerSingleThreadEventLoop

上文说到了,channelHandler, 顾名思义 handler 处理者

从channelPipeline的定义中看出,channelPipeline是channelHandler的集合

public interface ChannelPipeline extends Iterable<Entry<String, ChannelHandler>>
           

查看其接口定义和源码可以看出

接口方法

分为三类  

Handler life cycle methods  

Inbound event handler methods

Outbound event handler methods

netty源码分析 之五 transport(ChannelHandler)接口方法ChannelHandlerAdapterChannelHandlerContext 接着看AbstractChannelHandlerContext ChannelHandlerInvokerSingleThreadEventLoop
netty源码分析 之五 transport(ChannelHandler)接口方法ChannelHandlerAdapterChannelHandlerContext 接着看AbstractChannelHandlerContext ChannelHandlerInvokerSingleThreadEventLoop

ChannelHandlerAdapter

大多数的handler都继承它了

netty源码分析 之五 transport(ChannelHandler)接口方法ChannelHandlerAdapterChannelHandlerContext 接着看AbstractChannelHandlerContext ChannelHandlerInvokerSingleThreadEventLoop

ChannelHandlerContext

netty源码分析 之五 transport(ChannelHandler)接口方法ChannelHandlerAdapterChannelHandlerContext 接着看AbstractChannelHandlerContext ChannelHandlerInvokerSingleThreadEventLoop

接着看AbstractChannelHandlerContext

看其类的核心实现是,invoker

netty源码分析 之五 transport(ChannelHandler)接口方法ChannelHandlerAdapterChannelHandlerContext 接着看AbstractChannelHandlerContext ChannelHandlerInvokerSingleThreadEventLoop

ChannelHandlerInvoker

netty源码分析 之五 transport(ChannelHandler)接口方法ChannelHandlerAdapterChannelHandlerContext 接着看AbstractChannelHandlerContext ChannelHandlerInvokerSingleThreadEventLoop

SingleThreadEventLoop

这个类里面已经有   DefaultChannelHandlerInvoker 

netty源码分析 之五 transport(ChannelHandler)接口方法ChannelHandlerAdapterChannelHandlerContext 接着看AbstractChannelHandlerContext ChannelHandlerInvokerSingleThreadEventLoop