基于分隔符解码器分析
构造器
传入一系列分隔符,通过解码器将二进制流分成完整数据包
decode 方法
5.1 分析解码步骤
5.1.1 行处理器
- 行处理器决断
- 定义位置
- 初始化位置
- 判断分隔符
5.1.2 找到最小分隔符
遍历所有分隔符,计算以每一个分隔符分割的数据包的长度
5.1.3 解码
5.1.3.1 找到分隔符
非空,说明已经找到分隔符
和之前一样,在此先判断当前是否处于丢弃模式
非丢弃模式
显然第一次时为 false, 因此非丢弃模式
当前数据包大于允许解析最大数据长度时,直接将该段数据包连同最小分隔符跳过(丢弃)
没有超过的就是正常合理逻辑的数据包的长度,判断解析出的数据包是否包含分隔符
丢弃模式
5.1.3.2 未找到分隔符
5.1.3.2.1 非丢弃模式
当前可读字节长大于允许解析最大数据长度时,记录该丢弃字节数
5.1.3.2.2 丢弃模式