Skip to content

fix: 修复坏头重同步后完整帧等待额外输入 - #74

Merged
CSJ608 merged 1 commit into
mainfrom
codex/fix-64-decoder-progress
Sep 8, 2026
Merged

CSJ608 merged 1 commit into
mainfrom
codex/fix-64-decoder-progress

Conversation

@CSJ608

@CSJ608 CSJ608 commented Sep 8, 2026

Copy link
Copy Markdown
Owner

坏长度头与合法完整帧同批到达时,定界器丢弃坏头后返回 false,解码器原先停止解析并等待额外输入。本改动在 false 且已消费前缀时继续解析,无消费进展才等待输入;保留四字节坏头丢弃策略和公共接口,补充 XML 推进契约。

新增 7 个确定性 Pipe 用例覆盖无后续写入交付、连续坏头、粘包、半帧续写/EOF、普通自定义 Framer false 推进、无进展停止、完整缓冲不触发半帧超时,以及 FrameError 字节数/SessionId/快照元数据。前 6 个用例在原实现全部红测,修复后通过;CHANGELOG Unreleased 已更新。

验证:

  • dotnet build StreamFrame.slnx -c Release:零警告、零错误。
  • dotnet test StreamFrame.slnx -c Release --no-build:net8.0/net10.0/net48 各 115 项通过。
  • 首次全量执行 net8.0 三项既有 TCP 测试出现 Connecting/未收到消息失败,另外两框架及新增用例全过;原命令重试一次全绿,未调整断言。原始失败和重跑日志保存在 issue-64-result.md 同目录。

Closes #64

@CSJ608
CSJ608 merged commit cadbfd6 into main Sep 8, 2026
5 checks passed
@CSJ608
CSJ608 deleted the codex/fix-64-decoder-progress branch September 8, 2026 08:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

bug: [P1] 非法长度头后的完整帧被挂起,必须等额外字节到达才交付

1 participant