Expand description
TCP-inspired multi-algorithm congestion controller for IPFRS peer data streams.
Implements SlowStart, CongestionAvoidance, FastRecovery, and Idle phases with five distinct algorithms: Reno, Cubic, BBR, Vegas, and Westwood.
§Legacy API
The original per-peer PeerCongestionController and MultiPeerCongestionManager
are retained for backwards compatibility.
§New API
Use CongestionController for full multi-algorithm support.
Structs§
- CccConnection
- Per-connection congestion state.
- CccController
Config - Configuration for the multi-connection
CongestionController. - CccController
Stats - Aggregate statistics for the entire controller.
- CccEvent
- A single congestion event record.
- Congestion
Config - Configuration parameters for a congestion controller (legacy).
- Congestion
Controller - Multi-connection, multi-algorithm TCP-inspired congestion controller.
- Decision
- Result returned by
on_ack,on_loss, andon_timeout. - Multi
Peer Congestion Manager - Manages
PeerCongestionControllerinstances for multiple peers (legacy). - Peer
Congestion Controller - Per-peer CUBIC-inspired congestion controller (legacy).
- Window
Stats - A snapshot of the current congestion window state for a peer (legacy).
Enums§
- CccAlgorithm
- Congestion control algorithm selection.
- CccEvent
Type - Kinds of congestion events logged in the event ring.
- CccState
- Congestion controller FSM state.
- Congestion
Event - Events that drive congestion controller state transitions (legacy).
- Congestion
State - Phases of the congestion control state machine (legacy).
Type Aliases§
- CccCongestion
Controller - Main congestion controller type alias.
- CccConn
Id - Connection identifier type alias.
- CccDecision
- Decision returned from ack/loss/timeout handlers.