Expand description
Session and RPC client implementations for framed IPC with postcard.
This module provides:
- A Session implementation that serializes and deserializes Message values using postcard over a framed transport.
- A default
RpcClientthat correlates request/response pairs byRequestId, forwards cancellations, and exposes an events stream with bounded backpressure.
StreamManager is transport-only; data processing is delegated to services.
Structsยง
- Default
RpcClient - Default
RpcClientbuilt over a Session. It: - Framed
Session - Adapter implementing Session on top of a framed connection that transports raw Bytes. Messages are encoded/decoded with postcard.
- InMemory
Blob Store - In-memory
BlobStoreused by tests (and as a reference implementation). - Incoming
Stream ๐State
Constantsยง
Traitsยง
- Blob
Store - Simple blob store interface used for blob-backed flows.
- RpcClient
- RPC client interface layered on a Session, with request/response correlation and cancellation.
- Session
- A higher-level session that speaks the Message protocol over a
FramedConnection. - Stream
Manager - Streaming control plane to coordinate substreams or blob-backed flows.
Functionsยง
- response_
id ๐ - Extract the
RequestIdfrom a Response. - to_
ipc_ ๐error - Convert
anyhow::Errorinto crate Error, preserving context.