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§
- Abuse
Stats - Accept
Backlog Stats - Active
Stream Stats - Async
Duplex Stream - 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.
- Closed
Async Session - A permanently closed async session.
- Closed
Session - A permanently closed blocking session.
- Config
- Conn
- Data
Payload - Data
Payload View - Diagnostic
Stats - Duplex
Io - A cloneable full-duplex byte stream accepted by
Conn. - Duplex
Stream - Bidirectional stream view backed by one receive-only half and one send-only half.
- Duplex
Transport - Owned split transport plus optional connection metadata for
Conn. - Error
- Event
- Flush
Stats - Frame
- Frame
View - GoAway
Payload - Hidden
State Stats - Limits
- Liveness
Stats - Memory
Stats - Metadata
Update - Negotiated
- Open
Options - Options used when opening a stream.
- Open
Request - Request parameters for opening a stream.
- Open
Send - Complete request for opening a stream and immediately sending binary data.
- Paused
Async Half - Pause handle returned by async joined stream read/write half pauses.
- Paused
Half - Pause handle returned by native joined stream read/write half pauses.
- Peer
Close Error - Peer
GoAway Error - Preface
- Pressure
Stats - Progress
Stats - Provisional
Stats - Reason
Stats - Recv
Stream - Retention
Stats - Send
Stream - Session
Stats - Settings
- Stream
- Stream
Event Info - Stream
Metadata - Stream
Metadata View - Telemetry
Stats - Tlv
- TlvView
- Writer
Queue Stats
Enums§
- Claim
- Conformance
Suite - Duplex
Info Side - Which half supplies metadata for a joined bidirectional stream view.
- Error
Code - Error
Direction - Error
Operation - Error
Scope - Error
Source - Event
Type - Frame
Type - Implementation
Profile - Parse
Conformance Error - Role
- Scheduler
Hint - Session
State - Termination
Kind - Write
Payload - 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_
VARIN T62 - 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§
- Async
Duplex Stream Handle - Runtime-neutral bidirectional async stream operations.
- Async
Recv Stream Handle - Runtime-neutral receive stream operations.
- Async
Send Stream Handle - Runtime-neutral send stream operations.
- Async
Session - Runtime-neutral async session operations shared by native ZMux and adapters.
- Async
Stream Handle - Runtime-neutral stream metadata and close operations for async upper layers.
- Duplex
Connection - Reliable blocking duplex connection accepted by
Conn. - Duplex
Stream Handle - Duplex
Transport Control - Optional control hooks for a custom duplex transport.
- Recv
Stream Handle - Send
Stream Handle - Session
- Stream
Handle
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§
- Async
BoxFuture - Boxed future used by the async session and stream traits.
- BoxAsync
Duplex Stream - Boxed bidirectional async stream trait object.
- BoxAsync
Recv Stream - Boxed receive-only async stream trait object.
- BoxAsync
Send Stream - Boxed send-only async stream trait object.
- BoxAsync
Session - Boxed async session trait object.
- BoxDuplex
Stream - Boxed bidirectional stream trait object used by the native blocking API.
- BoxRecv
Stream - Boxed receive-only stream trait object used by the native blocking API.
- BoxSend
Stream - Boxed send-only stream trait object used by the native blocking API.
- BoxSession
- Boxed native blocking session trait object.
- Event
Handler - Paused
Async Recv Half - Detached receive half handle for
AsyncDuplexStream. - Paused
Async Send Half - Detached send half handle for
AsyncDuplexStream. - Paused
Recv Half - Detached receive half handle for
DuplexStream. - Paused
Send Half - Detached send half handle for
DuplexStream. - Result