Skip to content

Rust SDK Overview

nnrp-rs is the Rust workspace for NNRP. It currently contains nnrp-core, nnrp-runtime, nnrp-transport-provider, nnrp-transport-tcp, nnrp-transport-quic, nnrp-ffi, nnrp-wasm, and nnrp-conformance. Preview3 now includes the protocol core, TCP/QUIC client/server runtime, transport provider registry, FFI handle/event ABI, WASM primitives, and conformance fixtures.

Current Status (Preview3)

ModuleStatus
Protocol version, wire codecs, message types, and core errors✅ Preview3 core implemented
Connection/session lifecycle, flow control, cache/schema, recovery, operation model✅ Preview3 core implemented
Rust-generated conformance fixtures and adapter execution✅ Preview3 core implemented
Client API (NnrpClient, NnrpClientSession)✅ TCP runtime and QUIC provider path implemented
Server API (NnrpServer, NnrpServerSession)✅ TCP runtime and QUIC provider path implemented
Transport provider registry / policy resolver✅ TCP provider, Quinn/Rustls QUIC provider, local/remote capability intersection, and probe score selection implemented
FFI value handles, buffer views, callback/polling events, error families✅ ABI surface implemented
Runtime-backed FFI client / server entrypoints✅ Handle/event ABI connected
QUIC runtime bindingnnrp-transport-quic ships a default Quinn/Rustls provider while preserving custom provider slots
WASM primitive package (probe / transport selection)nnrp-wasm implemented; full JS/TS SDK remains in nnrp-js

Toolchain Requirements

  • Rust ≥ 1.82 (stable)
  • tokio 1.x
  • WASM target: wasm32-unknown-unknown

Contents

NNRP Documentation