Skip to content

feat: 增加 GEM 在线转换策略 - #23

Merged
CSJ608 merged 1 commit into
mainfrom
feat-online-transition-policy
Aug 29, 2026
Merged

CSJ608 merged 1 commit into
mainfrom
feat-online-transition-policy

Conversation

@CSJ608

@CSJ608 CSJ608 commented Aug 29, 2026

Copy link
Copy Markdown
Owner

变更

  • 增加 Equipment 单一在线状态转换处理器和精确可释放注册
  • 处理器接收当前状态、请求状态与取消令牌,可接受或拒绝 Host 在线/离线请求
  • 拒绝使用 profile 失败应答,Host 抛出 GemRequestRejectedException,双方状态保持不变
  • 接受时继续在 Secondary 完整写出后更新 Equipment 状态
  • 未注册处理器时保持既有自动接受行为
  • 补充注册生命周期和真实 TCP 接受、拒绝、恢复测试
  • 更新 README、路线图、GEM/端点/标准文档和 CHANGELOG

边界

  • 处理器是应用策略,默认不注册
  • 同状态请求仍交给处理器
  • 处理器在服务锁外执行,快照、释放、异常和取消语义与现有处理器一致
  • 不实现通讯建立拒绝、自动重新建立、业务消息状态门控或完整 E30 状态表
  • 工程行为仍需授权 E30-0526 与目标设备核对

验证

  • dotnet build SecsFrame.slnx -c Release:通过,0 警告
  • dotnet test SecsFrame.slnx -c Release --no-build:通过
  • SecsFrame.Tests net8.0/net10.0/net48:各 197/197 通过
  • 官方 nuget.org secs4net 3.1.0 互操作 net8.0/net10.0:各 2/2 通过

@CSJ608
CSJ608 merged commit 5f62f2a into main Aug 29, 2026
4 checks passed
@CSJ608
CSJ608 deleted the feat-online-transition-policy branch August 29, 2026 02:26
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