Skip to content

2.0 API 重构:IFramer 命名统一 / 命名空间收敛 / 生命周期令牌 / Disconnected 终态 / 双栈 socket - #4

Merged
CSJ608 merged 1 commit into
mainfrom
refactor-2.0-api
Aug 27, 2026
Merged

CSJ608 merged 1 commit into
mainfrom
refactor-2.0-api

Conversation

@CSJ608

@CSJ608 CSJ608 commented Aug 27, 2026

Copy link
Copy Markdown
Owner

破坏性变更(随 2.0.0 发布)

  • 命名统一:IFrameCodec→IFramer、LengthPrefixFrameCodec→LengthPrefixFramer、StxEtxFrameCodec→StxEtxFramer、IStreamingFrameCodec→IStreamingFramer——"codec" 从此只指 ICodec<TMessage>
  • 命名空间:删除 StreamFrame.Abstractions,公共类型统一进 StreamFrame(一个 using 搞定)
  • 生命周期令牌:Start(ct) 取消即停机(与 DisposeAsync 共用幂等 Shutdown 路径),广播 Disconnected 终态、GetMessages 自然结束
  • DeviceIpAddress→RemoteIpAddress(string?):null 替代 "NA";双栈下 IPv4-mapped 地址归一显示
  • IPv6 双栈 socket:监听 IPAddress.Any 自动归一 IPv6Any,IPv4/IPv6 客户端均可接入
  • PooledBufferWriter 拆分独立文件;接口 GetMessages 补默认参数

验证

  • 51/51 测试通过(新增 4 项生命周期测试:取消停机/终态事件/对端地址/双栈监听)
  • demo 连跑 5 次三场景全过(场景 3 调小重试间隔消除时序抖动)
  • Release 构建 0 警告 0 错误;README/DESIGN/CHANGELOG 已同步

@CSJ608
CSJ608 merged commit 849e193 into main Aug 27, 2026
1 check passed
@CSJ608
CSJ608 deleted the refactor-2.0-api branch August 27, 2026 03:56
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.

1 participant