#netty pipeline addlast 执行顺序

https://blog.csdn.net/zhengchao1991/article/details/103583766

  1. ctx.writeAndFlush只会从当前的handler位置开始,往前找outbound执行

  2. ctx.pipeline().writeAndFlush与ctx.channel().writeAndFlush会从tail的位置开始,往前找outbound执行 也就是 inBound如果中间开始 channel().writeAndFlush ,会跳过剩下inBound从TailHandler 倒叙开始

  3. InboundHandler 是顺序执行; 数据从客户端发向服务端的过程叫出站,反之称为入站。 解码器 Decoder 就是入站操作

  4. OutboundHandler 是倒序 执行; 编码器 Encoder 就是出站操作。 Inbound 事件和 Outbound 事件的传播方向相反,Inbound 事件的传播方向为 Head -> Tail,而 Outbound 事件传播方向是 Tail -> Head。

ChannelHandler 有两个重要的子接口:ChannelInboundHandler和ChannelOutboundHandler,分别拦截入站和出站的各种 I/O 事件。

  1. ChannelInboundHandler 的事件回调方法与触发时机。