Skip to main content

Crate vox_types

Crate vox_types 

Source

Re-exports§

pub use channel::*;
pub use schema::*;

Modules§

channel
schema
Schema extraction and tracking for vox wire protocol.

Macros§

dlog
Debug logging macro — enabled by setting VOX_DLOG=1 environment variable.
selfref_match
Pattern-match on a field of a SelfRef<T>, projecting to SelfRef<VariantInner> in each arm body.

Structs§

ArgDescriptor
Descriptor for a single RPC method argument.
ChannelClose
ChannelGrantCredit
ChannelId
ID of a channel between two peers.
ChannelItem
ChannelMessage
ChannelReset
ClientContext
Borrowed per-call context exposed to client middleware.
ClientRequest
Borrowed request wrapper exposed to client middleware.
ConnectionAccept
ConnectionClose
ConnectionId
Connection ID identifying a virtual connection on a link.
ConnectionOpen
ConnectionReject
ConnectionSettings
Per-connection limits advertised by a peer.
EnumInfo
Information about an enum type.
ErasedCaller
Type-erased Caller wrapper used by generated clients.
Extensions
Per-request type-indexed storage shared across middleware hooks and handlers.
HandshakeResult
Result of a completed CBOR handshake.
Hello
Sent by the initiator as the first handshake message.
HelloYourself
Sent by the acceptor in response to Hello.
IdAllocator
Allocates IDs with a given parity (odd or even), stepping by 2.
LetsGo
Sent by the initiator to confirm schema compatibility and establish the session.
Message
Protocol message.
MessageFamily
Type-level tag for Message as a MsgFamily.
MetadataEntry
A single metadata entry with a key, value, and flags.
MetadataFlags
Metadata entry flags.
MethodDescriptor
Static descriptor for a single RPC method.
MethodId
A unique method identifier — hash of service name, method name, arg shapes, return shape
MiddlewareCaller
OperationId
A unique operation identifier for exactly-once delivery.
PayloadAdapter
Adapter that bridges Payload through the opaque field contract.
Ping
Pong
PostcardPayload
Postcard-encoded bytes for a response payload (without schemas).
ProtocolError
RequestCall
RequestCancel
RequestContext
Borrowed per-request context exposed to opted-in Rust service handlers.
RequestId
Request ID identifying an in-flight RPC request.
RequestMessage
RequestResponse
ResponseParts
A decoded response value paired with response metadata.
ResumeKeyBytes
Fixed-size resume key bytes, CBOR-serializable.
RetryPolicy
Static retry policy for a method.
SelfRef
A decoded value T that may borrow from its own backing storage.
ServiceDescriptor
Static descriptor for a vox RPC service.
SessionResumeKey
SinkCall
Concrete Call implementation backed by a ReplySink.
Sorry
Sent by either peer to reject the session due to schema incompatibility.
SplitLink
A Link assembled from pre-split Tx and Rx halves.
StructInfo
Information about a struct type.
WithTracker
Pairs a value with the SchemaRecvTracker that was active when the value was received. Used to thread per-message schema context through the caller API without storing trackers on long-lived structs.

Enums§

Backing
ChannelBody
ChannelRetryMode
ClientCallOutcome
HandshakeMessage
CBOR-encoded handshake message exchanged before postcard traffic begins.
MessagePayload
MetadataValue
Metadata value.
Parity
Whether a peer will use odd or even IDs for requests and channels on a given connection.
Payload
A payload — arguments for a request, or return type for a response.
RequestBody
ServerCallOutcome
Outcome observed by server middleware after handler dispatch.
SessionRole
Whether the session is acting as initiator or acceptor.
ShapeKind
Classification of a Shape for code generation.
TransportMode
Requested conduit mode for the transport prologue.
VariantKind
Information about an enum variant for code generation.
VoxError
Protocol-level error wrapper distinguishing application errors from vox infrastructure errors.

Constants§

CHANNEL_RETRY_MODE_METADATA_KEY
OPERATION_ID_METADATA_KEY
RETRY_SUPPORT_METADATA_KEY
RETRY_SUPPORT_VERSION
SESSION_RESUME_KEY_METADATA_KEY

Traits§

Call
Represents an in-progress API-level call as seen by a server handler.
Caller
Type-erased handler for incoming service calls.
ClientMiddleware
Conduit
Bidirectional typed transport. Wraps a Link and owns serialization.
ConduitAcceptor
Yields new conduits from inbound connections.
ConduitRx
ConduitTx
Sending half of a Conduit.
ConduitTxPermit
Permit for sending exactly one message through a ConduitTx.
Handler
IdType
Trait implemented by all declare_id! types, enabling generic ID allocation.
Link
Bidirectional raw-bytes transport.
LinkRx
Receiving half of a Link.
LinkTx
Sending half of a Link.
LinkTxPermit
A permit for allocating exactly one outbound payload.
MaybeSend
Marker trait that requires Send on native targets, nothing on wasm32.
MaybeSendFuture
A future that is Send on native targets, nothing on wasm32. Unlike MaybeSend, this can be used as dyn MaybeSendFuture because it’s a single trait (not dyn Future + MaybeSend).
MaybeSync
Marker trait that requires Sync on native targets, nothing on wasm32.
MsgFamily
Maps a lifetime to a concrete message type.
ReplySink
Sink for sending the terminal response for one request attempt.
ServerMiddleware
Observe inbound server requests before and after dispatch.
SharedBacking
Backing storage for a SelfRef.
WriteSlot
A writable slot in the transport’s output buffer.

Functions§

append_retry_support_metadata
append_session_resume_key_metadata
classify_shape
Classify a Shape into a higher-level semantic kind.
classify_variant
Classify an enum variant.
ensure_channel_retry_mode
ensure_operation_id
is_bytes
Check if a shape represents bytes (Vec<u8> or &[u8]).
metadata_channel_retry_mode
metadata_operation_id
metadata_session_resume_key
metadata_supports_retry
method_descriptor
Build and leak a MethodDescriptor with default volatile retry policy.
method_descriptor_with_retry
Build and leak a MethodDescriptor with an explicit retry policy.
method_id_name_only
Compute a method ID from service and method names.
shape_contains_channel

Type Aliases§

BoxFut
A boxed future that is Send on native targets and !Send on wasm32.
BoxMiddlewareFuture
CallResult
Result type for one caller-visible RPC call: either a tracked response or an error.
Metadata
A list of metadata entries.
RecvResult
Receiving half of a Conduit.