ChannelHandler用来处理Channel上的各种事件,分为入站和出站两种。
所有的ChannelHandler被连成一串,就是Pipeline。
入站处理器通常是ChannelInboundHandlerAdapter的子类,主要用来读取客户端数据,写回结果。
出站处理器通常是ChannelOutboundHandlerAdapter的子类,主要对写回结果进行加工。
默认有head和tail,一头一尾两个handler,添加的handler其实是在他们之间的。
每个channel就是一个产品的加工车间,Pipeline是车间中的流水线,ChannelHandler是流水线上的各道工序,ByteBuf就是原材料,经过很多工序的加工:先经过一道道入站工序,再经过一道道出站工序最终变成产品。
//添加处理器 head -> h1 -> h2 -> h3 -> h4 ->