Skip to content

Rust API Overview

This page is the map. The detailed method tables live on the client, server, core, FFI, and WASM pages so users can start from the workflow they are implementing instead of reading a flat list of all Rust symbols.

Release

ItemValue
NNRP protocol lineNNRP/1 Preview4
Rust package version1.0.0-preview.4.0
Minimum Rust version1.82
GitHub release asset tagv1.0.0-preview.4.0

API Areas

AreaPackageWhat it ownsPage
Core protocol modelnnrp-coreWire codecs, metadata, profiles, runtime-control, object/cache, validationCore Types
Client runtimennrp-runtimeConnect, open session, submit, receive events, control requests, closeClient API
Server runtimennrp-runtimeBind, accept, receive submit/control, send result/progress/object/cache eventsServer API
Transport providersnnrp-transport-provider, nnrp-transport-*Registry, probe policy, and concrete TCP/QUIC/IPC/WebSocket transportsTransport Provider Boundary
Native ABInnrp-ffiC ABI, handle/event model, native artifact manifestsFFI / Native
Browser primitivesnnrp-wasmWASM protocol helpers, browser binary-frame helpers, .d.ts outputWASM

Cargo

toml
[dependencies]
nnrp-core = "1.0.0-preview.4.0"
nnrp-runtime = "1.0.0-preview.4.0"
nnrp-transport-provider = "1.0.0-preview.4.0"
nnrp-transport-tcp = "1.0.0-preview.4.0"
nnrp-transport-quic = "1.0.0-preview.4.0"
nnrp-transport-ipc = "1.0.0-preview.4.0"
nnrp-transport-websocket = "1.0.0-preview.4.0"

# Optional downstream surfaces
nnrp-ffi = "1.0.0-preview.4.0"
nnrp-wasm = "1.0.0-preview.4.0"
nnrp-conformance = "1.0.0-preview.4.0"

Transport Provider Boundary

The runtime sees transports through framed transport traits. In the Rust SDK, "transport" follows the NNRP definition: a frame-carrier boundary below the NNRP wire protocol, not an OSI-layer claim. Concrete carrier behavior belongs to provider packages.

PackageOwnsNative / WASM artifact boundary
nnrp-transport-tcpTCP connect/bind and TCP probe identityNative FFI transport artifacts are published as TCP-scoped release zips
nnrp-transport-quicQuinn/Rustls QUIC connect/bind and QUIC probe identityNative FFI transport artifacts are published as QUIC-scoped release zips
nnrp-transport-ipcLocal IPC endpoints: Unix domain sockets and Windows named pipesNative FFI transport artifacts are published as IPC-scoped release zips
nnrp-transport-websocketNative Rust WebSocket binary-frame carrierNative FFI transport artifacts are published as WebSocket-scoped release zips
nnrp-wasmBrowser WASM primitives and browser binary-frame helpersBrowser artifact is nnrp-wasm-browser-1.0.0-preview.4.0.zip

Role packages such as client/server runtimes do not hide carrier implementations. Install the transport package that owns the behavior you need, then let provider policy select among registered providers when multiple carriers are available.

Runtime Control And Object/Cache Frames

Preview4 adds compact control-plane events used by scheduling, cancellation, progress, partial results, backpressure, capability negotiation, route hints, cache references, and trace context. The wire definitions are documented under Runtime Control Profiles. Rust exposes them through client events, server send/receive helpers, and core metadata types.

Artifact Naming

Artifact familyExample
Native transport FFInnrp-ffi-transport-tcp-native-linux-x86_64-1.0.0-preview.4.0.zip
Native QUIC FFInnrp-ffi-transport-quic-native-windows-x86_64-1.0.0-preview.4.0.zip
Browser WASMnnrp-wasm-browser-1.0.0-preview.4.0.zip
ChecksumsSHA256SUMS

Downstream SDKs should validate the artifact manifest before loading native libraries or WASM files.

NNRP Documentation