Skip to main content

Module channel

Module channel 

Source
Expand description

channels used for communication between main process and workers Bidirectional length-delimited unix-socket channel.

Implements the master ↔ worker / master ↔ CLI message channel: each payload is preceded by a native usize length prefix (NOT a NUL separator — that scheme belongs to the state-file save format written by ConfigState::write_requests_to_file in command/src/state.rs). Bounded by the per-channel Channel::max_buffer_size, checked against the declared length in try_read_delimited_message before any payload byte is allocated.

Structs§

Channel
Channel meant for communication between Sōzu processes over a UNIX socket. It wraps a unix socket using the mio crate, and transmit prost messages by serializing them in a binary format, with a fix-sized delimiter. To function, channels must come in pairs, one for each agent. They can function in a blocking or non-blocking way.
ChannelSnapshot
Serializable userspace state of a Channel.
PausedChannel
A restored channel that may be registered with mio but cannot perform I/O.

Enums§

ChannelError
ChannelSnapshotError

Functions§

delimiter_size
the payload is prefixed with a delimiter of sizeof(usize) bytes