Expand description
Core implementations for the vox connectivity layer.
This crate provides concrete implementations of the traits defined in
vox_types. The only conduit shape is BareConduit: wraps a raw
Link with postcard serialization. No reconnect, no reliability —
reconnect was removed (StableConduit deleted) because the abstraction
had no real users.
Modules§
- testing
- Test utilities for vox-core. Publicly exported for use by integration tests in downstream crates.
Structs§
- Acceptor
Fn - Wrapper that turns a closure into a
ConnectionAcceptor. - Attachment
- One transport attachment consumed by
LinkSource::next_link. - Bare
Conduit - Wraps a
Linkwith postcard serialization. No reconnect, no reliability. - Bare
Conduit Rx - Bare
Conduit Tx - Caller
- Concrete caller type wrapping a
DriverCallerwith optional middleware. - Connection
Handle - Connection
Request - Metadata wrapper with typed getters for well-known
vox-*keys. - Connection
State - Static data for one active connection.
- Driver
- Per-connection driver. Tracks in-flight request attempts, dispatches
incoming requests to a
Handler, and manages channel state / flow control. - Driver
Caller - Allocates a request ID, registers a response slot, sends one request attempt through the connection, and awaits the corresponding response.
- Driver
Channel Sink - Concrete
ChannelSinkbacked by aConnectionSender. - Driver
Reply Sink - Concrete
ReplySinkimplementation for the driver. - InMemory
Operation Store - Default in-memory operation store.
- 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. - Message
Plan - Pre-built translation plan for deserializing the
Messagewire type. - Noop
Client - Liveness-only client for a connection root.
- Pending
Connection - A connection that has been opened but not yet accepted.
- Prepared
Frame - A serialized message plus the file descriptors collected while encoding
it. The descriptors travel out-of-band via
SCM_RIGHTS; off-UnixFrameFdsis(). - Sealed
Response - A sealed response stored in the operation store.
- Session
- Session state machine.
- Session
Acceptor Builder - Session
Config - Shared configuration for all session builders.
- Session
Handle - Cloneable handle for opening and closing virtual connections.
- Session
Initiator Builder - Session
Keepalive Config - Session-level protocol keepalive configuration.
- Session
Registry - Session
Source Initiator Builder - Session
Transport Acceptor Builder - Session
Transport Initiator Builder - Single
Attachment Source - One-shot link source: hands out its single attachment, then errors on every subsequent call.
Enums§
- Bare
Conduit Error - Handshake
Error - Operation
State - State of an operation in the store.
- Session
Accept Outcome - Session
Error - Errors that can occur during session establishment or operation.
- Transport
Mode - Requested conduit mode for the transport prologue.
- Transport
Prologue Error - Transport
Reject Reason
Constants§
- VOX_
SERVICE_ METADATA_ KEY - Well-known metadata key for service name routing.
Traits§
- Connection
Acceptor - DynConduit
Rx - DynConduit
Tx - Erased
Handler - Object-safe version of
Handler<DriverReplySink>. - From
VoxSession - Trait for constructing a typed client from a vox session.
- Into
Conduit - Converts a value into a
vox_types::Conduit. - Link
Source - Source of transport links. With reconnect machinery removed there’s
only ever one call to
next_linkper session, but the trait remains so existing code paths don’t have to special-case the single-link case. - Operation
Store - Operation state backing for exactly-once delivery across session resumption within a single process.
- Outbound
Send Future
Functions§
- accept_
transport - acceptor_
conduit - acceptor_
fn - Create a
ConnectionAcceptorfrom a closure. - acceptor_
on - acceptor_
on_ link - Convenience: perform CBOR handshake as acceptor on a raw link, then return a builder with the conduit ready to go.
- acceptor_
transport - handshake_
as_ acceptor - Perform the CBOR handshake as the acceptor.
- handshake_
as_ initiator - Perform the CBOR handshake as the initiator.
- initiate_
transport - initiator
- initiator_
conduit - initiator_
on - initiator_
on_ link - Convenience: perform CBOR handshake as initiator on a raw link, then return a builder with the conduit ready to go.
- initiator_
transport - memory_
link_ pair - Create a pair of connected
MemoryLinks. - proxy_
connections - Forward all request/channel traffic between two connections.
- reject_
transport - single_
attachment_ source - single_
link_ source
Type Aliases§
- BoxSession
Future - A pinned, boxed session future. On non-WASM this is
Send + 'static; on WASM it’s'staticonly (noSendrequirement).