Expand description
Core implementations for the roam connectivity layer.
This crate provides concrete implementations of the traits defined in
roam_types:
BareConduit: wraps a rawLinkwith postcard serialization. No reconnect, no reliability. For localhost, SHM, testing.StableConduit(TODO): wraps a Link + seq/ack/replay with bytes-based replay buffer. Handles reconnect transparently.
Structs§
- Accepted
Connection - Result of accepting a virtual connection.
- Attachment
- One transport attachment consumed by
LinkSource::next_link. - Bare
Conduit - Wraps a
Linkwith postcard serialization. No reconnect, no reliability. - Bare
Conduit Permit - Bare
Conduit Rx - Bare
Conduit Tx - Connection
Handle - Connection
State - Static data for one active connection.
- Driver
- Per-connection driver. Handles in-flight request tracking, dispatches incoming calls to a Handler, and manages channel state/flow control.
- Driver
Caller - Implements
Caller: allocates a request ID, registers a response slot, sends the call through the connection, and awaits the response. - Driver
Channel Sink - Concrete
ChannelSinkbacked by aConnectionSender. - Driver
Reply Sink - Concrete
ReplySinkimplementation for the driver. - Memory
Link - In-process
Linkbacked by tokio mpsc channels. - Memory
Link Rx - Receiving half of a
MemoryLink. - Memory
Link RxError - MemoryLink never fails on recv — the only “error” is channel closed (returns None).
- Memory
Link Tx - Sending half of a
MemoryLink. - Memory
Link TxPermit - Memory
Write Slot - Write slot for
MemoryLinkTx. - Noop
Caller - Liveness-only handle for a connection root.
- Session
- Session state machine.
- Session
Acceptor Builder - Session
Handle - Cloneable handle for opening and closing virtual connections.
- Session
Initiator Builder - Session
Keepalive Config - Session-level protocol keepalive configuration.
- Split
Link - Link wrapper that re-combines pre-split Tx/Rx halves into a
Link. - Stable
Conduit - Stable
Conduit Permit - Stable
Conduit Rx - Stable
Conduit Tx
Enums§
- Bare
Conduit Error - Session
Error - Errors that can occur during session establishment or operation.
- Stable
Conduit Error
Constants§
- PROTOCOL_
VERSION - Current roam session protocol version.
Traits§
- Connection
Acceptor - Callback for accepting or rejecting inbound virtual connections.
- DynConduit
Tx - Into
Conduit - Converts a value into a
roam_types::Conduit. - Link
Source
Functions§
- acceptor
- initiator
- memory_
link_ pair - Create a pair of connected
MemoryLinks. - prepare_
acceptor_ attachment - Prepare an acceptor-side attachment from an inbound link.
- proxy_
connections - Forward all request/channel traffic between two connections.
- rpc_
plan - Return a process-global cached
&'static RpcPlanfor typeT. FIXME: requiring ’static here is wrong FIXME: this function is now useless since we have RpcPlan::for_type
Type Aliases§
- BoxSession
Future - A pinned, boxed session future. On non-WASM this is
Send + 'static; on WASM it’s'staticonly (noSendrequirement).