DelimiterBasedFrameDecoder可以接受多个分隔符,比LineBasedFrameDecoder功能强大。实际上,DelimiterBasedFrameDecoder有一个成员变量就是LineBasedFrameDecoder。
- 成员变量
private final ByteBuf[] delimiters;
private final int maxFrameLength;
private final boolean stripDelimiter;
private final boolean failFast;
private boolean discardingTooLongFrame;
private int tooLongFrameLength;
//如果isLineBased方法返回值为true,该类直接等价于LineBasedFrameDecoder
private final LineBasedFrameDecoder lineBasedDecoder;
- 核心方法
protected Object decode(ChannelHandlerContext ctx, ByteBuf buffer) throws Exception