Skip to main content

Module fanout

Module fanout 

Source
Expand description

Per-client fan-out manager for WebSocket sink server mode.

Manages per-client state, bounded send buffers, and slow client eviction. Each connected client gets its own ring-buffer channel so that a slow client cannot block or affect other clients.

The RingSender/RingReceiver pair implements true DropOldest semantics: when the buffer is full, the oldest message is evicted to make room for the new one.

Structs§

BroadcastResult
Result of a broadcast operation.
ClientState
Per-client state within the fan-out manager.
FanoutManager
Fan-out manager that distributes messages to connected WebSocket clients.
ReplayBuffer
Circular replay buffer for client resume support.
RingReceiver
Receiver half of a bounded ring-buffer channel.
RingSender
Sender half of a bounded ring-buffer channel.

Enums§

RingSendResult
Result of a send attempt on a ring channel.

Functions§

ring_channel
Creates a ring-buffer channel pair with the given capacity.

Type Aliases§

ClientId
Unique identifier for a connected WebSocket client.