Expand description
Reliable UDP transport layer.
Builds reliable, ordered delivery on top of raw UDP without any async
runtime. Drive the stack each frame by calling ConnectionManager::poll().
§Architecture
Application
│ send(channel, data)
▼
ConnectionManager ── maintains one Connection per peer
│
▼
Connection ── per-channel send queues + ReliableUdp
│
▼
NonBlockingSocket ── wraps std::net::UdpSocketStructs§
- Connection
Manager - Manages multiple UDP peer connections over a single local socket.
- Fragmenter
- Splits large payloads into MTU-safe fragments and reassembles on the receiver side.
- NonBlocking
Socket - Non-blocking UDP socket wrapper with poll-based receive.
- Received
Packet - A packet received from a specific peer, ready for the application layer.
- Reliable
Udp - Reliable ordered UDP transport for a single peer connection.
- Transport
Stats - Snapshot of transport-layer statistics for a single peer connection.
Enums§
- Channel
- Delivery channel semantics for outgoing data.
- Connection
State - Lifecycle state of a single UDP connection to a remote peer.
Constants§
- ACK_
WINDOW - Number of sequence numbers in the ack window.
- FRAGMENT_
TIMEOUT_ MS - Fragment timeout in milliseconds (drop partial reassembly).
- JITTER_
ALPHA - EWMA smoothing factor for jitter.
- KEEPALIVE_
MS - Keepalive interval in milliseconds.
- MAX_
RETRANSMIT - Maximum number of retransmit attempts before giving up.
- MTU
- Maximum Transmission Unit for outgoing packets (bytes).
- PEER_
TIMEOUT_ MS - Peer timeout after last received packet (ms).
- RETRANSMIT_
BASE_ MS - Base retransmit timeout in milliseconds.
- RETRANSMIT_
MAX_ MS - Maximum retransmit timeout after backoff (ms).
- RTT_
ALPHA - EWMA smoothing factor for RTT estimation.