Skip to main content

Crate roam_types

Crate roam_types 

Source

Macros§

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
ChannelCore
Shared state between a Tx/Rx pair created by channel().
ChannelGrantCredit
ChannelId
ID of a channel between two peers.
ChannelItem
ChannelLocation
A precomputed location of a channel within a type structure.
ChannelMessage
ChannelReset
ConnectionAccept
ConnectionClose
ConnectionId
Connection ID identifying a virtual connection on a link.
ConnectionOpen
ConnectionReject
ConnectionSettings
Per-connection limits advertised by a peer.
CreditSink
A ChannelSink wrapper that enforces credit-based flow control.
EnumInfo
Information about an enum type.
ErasedCaller
Type-erased Caller wrapper used by generated clients.
Hello
HelloYourself
IdAllocator
Allocates IDs with a given parity (odd or even), stepping by 2.
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
PayloadAdapter
Adapter that bridges Payload through the opaque field contract.
Ping
Pong
ProtocolError
RequestCall
RequestCancel
RequestId
Request ID identifying an in-flight RPC request.
RequestMessage
RequestResponse
ResponseParts
A decoded response value paired with response metadata.
RpcPlan
Precomputed plan for an RPC type (args, response, or error).
Rx
Receiver handle: “I receive”. The holder of an Rx<T> receives items of type T.
SelfRef
A decoded value T that may borrow from its own backing storage.
ServiceDescriptor
Static descriptor for a roam RPC service.
SinkCall
Concrete Call implementation backed by a ReplySink.
SplitLink
A Link assembled from pre-split Tx and Rx halves.
StructInfo
Information about a struct type.
Tx
Sender handle: “I send”. The holder of a Tx<T> sends items of type T.

Enums§

Backing
ChannelBinding
The binding stored in a channel core — either a sink or a receiver, never both.
ChannelBody
ChannelKind
The kind of a channel.
IncomingChannelMessage
Message delivered to an Rx by the driver.
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
RoamError
Protocol-level error wrapper distinguishing application errors from roam infrastructure errors.
RxError
Error when receiving from an Rx.
SessionRole
Whether the session is acting as initiator or acceptor.
ShapeKind
Classification of a Shape for code generation.
TxError
Error when sending on a Tx.
VariantKind
Information about an enum variant for code generation.

Traits§

Call
Represents an in-progress call from a client that must be replied to.
Caller
Type-erased handler for incoming service calls.
ChannelBinder
Trait for channel operations, implemented by the session driver.
ChannelSink
Runtime sink implemented by the session driver.
Conduit
Bidirectional typed transport. Wraps a Link and owns serialization.
ConduitAcceptor
Yields new conduits from inbound connections.
ConduitRx
Receiving half of a Conduit.
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.
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 a reply back to the caller.
SharedBacking
Backing storage for a SelfRef.
WriteSlot
A writable slot in the transport’s output buffer.

Functions§

bind_channels_callee_args
Bind channels in deserialized args on the callee side.
bind_channels_caller_args
Bind channels in args on the caller side, returning channel IDs.
channel
Create a channel pair with shared state.
classify_shape
Classify a Shape into a higher-level semantic kind.
classify_variant
Classify an enum variant.
is_bytes
Check if a shape represents bytes (Vec<u8> or &[u8]).
is_channel
Check if a shape represents any channel type (Tx or Rx).
is_rx
Check if a shape represents an Rx channel.
is_tx
Check if a shape represents a Tx channel.

Type Aliases§

Metadata
A list of metadata entries.