Skip to main content

Crate zmux

Crate zmux 

Source
Expand description

Rust implementation of the ZMux v1 stream multiplexing protocol.

The crate exposes public codec helpers for the normative wire format, a synchronous native session/stream runtime built on split Read / Write halves, and explicit Async* traits for runtime-neutral adapters.

Structs§

AbuseStats
AcceptBacklogStats
ActiveStreamStats
AsyncDuplexStream
Logical bidirectional stream made from one receive-only and one send-only stream.
AsyncIo
Adapter from ZMux async stream traits to standard async I/O traits.
ClosedAsyncSession
A permanently closed async session.
ClosedSession
A permanently closed blocking session.
Config
Conn
DataPayload
DataPayloadView
DiagnosticStats
DuplexIo
A cloneable full-duplex byte stream accepted by Conn.
DuplexStream
Bidirectional stream view backed by one receive-only half and one send-only half.
DuplexTransport
Owned split transport plus optional connection metadata for Conn.
Error
Event
FlushStats
Frame
FrameView
GoAwayPayload
HiddenStateStats
Limits
LivenessStats
MemoryStats
MetadataUpdate
Negotiated
OpenOptions
Options used when opening a stream.
OpenRequest
Request parameters for opening a stream.
OpenSend
Complete request for opening a stream and immediately sending binary data.
PausedAsyncHalf
Pause handle returned by async joined stream read/write half pauses.
PausedHalf
Pause handle returned by native joined stream read/write half pauses.
PeerCloseError
PeerGoAwayError
Preface
PressureStats
ProgressStats
ProvisionalStats
ReasonStats
RecvStream
RetentionStats
SendStream
SessionStats
Settings
Stream
StreamEventInfo
StreamMetadata
StreamMetadataView
TelemetryStats
Tlv
TlvView
WriterQueueStats

Enums§

Claim
ConformanceSuite
DuplexInfoSide
Which half supplies metadata for a joined bidirectional stream view.
ErrorCode
ErrorDirection
ErrorOperation
ErrorScope
ErrorSource
EventType
FrameType
ImplementationProfile
ParseConformanceError
Role
SchedulerHint
SessionState
TerminationKind
WritePayload
Binary payload for write operations.

Constants§

CAPABILITY_OPEN_METADATA
CAPABILITY_PRIORITY_HINTS
CAPABILITY_PRIORITY_UPDATE
CAPABILITY_STREAM_GROUPS
DEFAULT_CAPABILITIES
DEFAULT_PING_PADDING_MAX_BYTES
DEFAULT_PING_PADDING_MIN_BYTES
DEFAULT_PREFACE_PADDING_MAX_BYTES
DEFAULT_PREFACE_PADDING_MIN_BYTES
DIAG_DEBUG_TEXT
DIAG_OFFENDING_FRAME_TYPE
DIAG_OFFENDING_STREAM_ID
DIAG_RETRY_AFTER_MILLIS
EXT_PRIORITY_UPDATE
FRAME_FLAG_FIN
FRAME_FLAG_OPEN_METADATA
MAGIC
MAX_PREFACE_SETTINGS_BYTES
MAX_VARINT62
MAX_VARINT_LEN
METADATA_OPEN_INFO
METADATA_STREAM_GROUP
METADATA_STREAM_PRIORITY
PREFACE_VERSION
PROTO_VERSION
SETTING_INITIAL_MAX_DATA
SETTING_INITIAL_MAX_STREAM_DATA_BIDI_LOCALLY_OPENED
SETTING_INITIAL_MAX_STREAM_DATA_BIDI_PEER_OPENED
SETTING_INITIAL_MAX_STREAM_DATA_UNI
SETTING_MAX_CONTROL_PAYLOAD_BYTES
SETTING_MAX_EXTENSION_PAYLOAD_BYTES
SETTING_MAX_FRAME_PAYLOAD
SETTING_MAX_INCOMING_STREAMS_BIDI
SETTING_MAX_INCOMING_STREAMS_UNI
SETTING_PING_PADDING_KEY
SETTING_PREFACE_PADDING
SETTING_SCHEDULER_HINTS

Traits§

AsyncDuplexStreamHandle
Runtime-neutral bidirectional async stream operations.
AsyncRecvStreamHandle
Runtime-neutral receive stream operations.
AsyncSendStreamHandle
Runtime-neutral send stream operations.
AsyncSession
Runtime-neutral async session operations shared by native ZMux and adapters.
AsyncStreamHandle
Runtime-neutral stream metadata and close operations for async upper layers.
DuplexConnection
Reliable blocking duplex connection accepted by Conn.
DuplexStreamHandle
DuplexTransportControl
Optional control hooks for a custom duplex transport.
RecvStreamHandle
SendStreamHandle
Session
StreamHandle

Functions§

append_tlv
append_varint
box_async_session
Wrap an async session and erase its concrete stream types.
box_session
Box a blocking session as the stable native session trait object.
build_code_payload
build_go_away_payload
build_open_metadata_prefix
build_open_metadata_prefix_into
build_priority_update_payload
build_priority_update_payload_into
capabilities_can_carry_group_in_update
capabilities_can_carry_group_on_open
capabilities_can_carry_open_info
capabilities_can_carry_priority_in_update
capabilities_can_carry_priority_on_open
capabilities_have_peer_visible_group_semantics
capabilities_have_peer_visible_priority_semantics
capabilities_support_open_metadata
capabilities_support_priority_update
closed_async_session
Create a permanently closed async session.
closed_session
Create a permanently closed blocking session.
core_module_target_claims
core_module_target_implementation_profiles
core_module_target_suites
default_settings
duplex_io
Wrap a cloneable full-duplex byte stream as a DuplexConnection.
encode_varint
encode_varint_to_slice
has_capability
join_async_streams
Join async receive and send halves into a bidirectional stream view.
join_streams
Join receive and send halves into a bidirectional stream view.
known_claims
known_conformance_suites
known_implementation_profiles
marshal_settings_tlv
negotiate_prefaces
parse_data_payload
parse_data_payload_view
parse_error_payload
parse_frame
parse_go_away_payload
parse_preface
parse_preface_prefix
parse_priority_update_payload
parse_settings_tlv
parse_stream_metadata_bytes_view
parse_stream_metadata_tlvs
parse_tlvs
parse_tlvs_view
parse_varint
read_frame
read_preface
read_varint
reference_profile_claim_gate
resolve_roles
try_duplex_io
Build a transport from a full-duplex byte stream with a custom clone operation.
varint_len
visit_tlvs

Type Aliases§

AsyncBoxFuture
Boxed future used by the async session and stream traits.
BoxAsyncDuplexStream
Boxed bidirectional async stream trait object.
BoxAsyncRecvStream
Boxed receive-only async stream trait object.
BoxAsyncSendStream
Boxed send-only async stream trait object.
BoxAsyncSession
Boxed async session trait object.
BoxDuplexStream
Boxed bidirectional stream trait object used by the native blocking API.
BoxRecvStream
Boxed receive-only stream trait object used by the native blocking API.
BoxSendStream
Boxed send-only stream trait object used by the native blocking API.
BoxSession
Boxed native blocking session trait object.
EventHandler
PausedAsyncRecvHalf
Detached receive half handle for AsyncDuplexStream.
PausedAsyncSendHalf
Detached send half handle for AsyncDuplexStream.
PausedRecvHalf
Detached receive half handle for DuplexStream.
PausedSendHalf
Detached send half handle for DuplexStream.
Result