Skip to content

Rust — 核心类型

nnrp-core crate 是 Preview3 协议语义的 Rust canonical source。它包含 wire codec、固定布局 metadata、枚举/错误基线、生命周期状态机、流控校验、缓存/Schema 语义、恢复校验和操作状态。

它还不包含网络化 client/server runtime。

Cargo.toml

toml
[dependencies]
nnrp-core = "1.0.0-preview.3.1"

已实现的 Preview3 表面

领域状态
Common header、消息类型、header flags、协议版本已实现
Client/server hello、session open/ack/close、migration/probe metadata已实现
FRAME_SUBMITRESULT_PUSHRESULT_DROP、body region、object reference已实现
Typed payload descriptor 与 payload-family 边界已实现
FLOW_UPDATE、result hint、priority、operation state、cancel scope已实现
Cache put/ack/invalidate 以及 lease/version/dependency 校验已实现
Schema/profile registry 与 token delta schema anchor已实现
Session-bound recovery 与 migration resume cursor 校验已实现

边界

nnrp-core 是 host-neutral 层。它校验协议行为并暴露可复用状态机原语,但不打开 socket、不启动 async task、不 accept client,也不运行 submit/result stream。

可直接使用的 Rust NnrpClient / NnrpServer API 由 runtime shard 跟踪,应该消费这些 core 类型,而不是重新定义协议行为。

常见坑点

WARNING

  1. 不要把 core lifecycle object 当成网络 runtime。 它们是协议状态机,不是 socket pump。
  2. 不要在 SDK 侧重新发明 retry、cache 或 schema 语义。 下游 SDK 应消费 Rust-owned semantics。
  3. 不要在不更新 conformance fixtures 的情况下修改枚举/错误/消息数值。

NNRP Documentation