Codec
文章目录
【注意】最后更新于 April 25, 2019,文中内容可能已过时,请谨慎使用。
一、ByteToMessageDecoder
1.Cumulator累加器
|
|
a.MERGE_CUMULATOR 合并累加器,累加到同一个ByteBuf
|
|
b.COMPOSITE_CUMULATOR 利用CompositeByteBuf把ByteBuf组装,不用重新分配内存,相对性能好
|
|
2.channelRead
|
|
a.callDecode 调用解码
|
|
b.decodeRemovalReentryProtection
|
|
c.handlerRemoved 移除ChannelHandler操作,做清除操作
|
|
3.channelReadComplete 读取完,做优化处理
|
|
4.实现类
- FixedLengthFrameDecoder ,基于固定长度消息进行粘包拆包处理的。
- frameLength 指定长度
- in.readRetainedSlice(frameLength)读取内容
- LengthFieldBasedFrameDecoder ,基于消息头指定消息长度进行粘包拆包处理的。
- LineBasedFrameDecoder ,基于换行来进行消息粘包拆包处理的。
- DelimiterBasedFrameDecoder ,基于指定消息边界方式进行粘包拆包处理的。