pipeline.fireChannelRead(byteBuf)
如果没有指定,就是workThread来处理这些数据(卑微的打工仔。)
handler之间的传播信息通过fireXXX方法:其区别是从哪个节点开始传播。
默认处理线程就是Channel绑定的NioEventLoop线程,也可以设置其他(其它的线程走的是开个新的定时任务):
pipeline.addLast(new UnorderedThreadPoolEventExecutor(10), serverHandler)
inbound从head开始,找下一个可以执行channelRead的地方(通过inbound属性轮询出下一个inboundHandlerContext),一直到尾节点TailContext
outbound刚好执行顺序反过来。
其实真正处理数据还是在ctx.fireChannelRead(msg)
展开