4.5 周期检查接收缓存
间隔一段时间检查接收缓存,每个 Session 或者 Stream 独立处理各自的缓存,从序号 1 开始递增检查每个 Packet:
如果 Packet 状态为 ACK,更新 Packet 状态为 SUCC,更新当前时间为接收完成时间,从接收缓存中删除该 Packet,通过已协商的加密参数(algorithm, key, iv)解密数据,并向上层应用程序交付数据。此时不必立刻从接收缓存中删除 Packet,可以等到设置的接收超时时间到了再删除。可防止此间发送端重复发送该 Packet。
如果当前序号对应的 Packet 不存在,则表示从未收到该 Packet,可能发生了丢包。如果已接收超时,则跳过该序号继续接收下个 Packet。