Skip to main content

Module congestion_controller

Module congestion_controller 

Source
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.
CccControllerConfig
Configuration for the multi-connection CongestionController.
CccControllerStats
Aggregate statistics for the entire controller.
CccEvent
A single congestion event record.
CongestionConfig
Configuration parameters for a congestion controller (legacy).
CongestionController
Multi-connection, multi-algorithm TCP-inspired congestion controller.
Decision
Result returned by on_ack, on_loss, and on_timeout.
MultiPeerCongestionManager
Manages PeerCongestionController instances for multiple peers (legacy).
PeerCongestionController
Per-peer CUBIC-inspired congestion controller (legacy).
WindowStats
A snapshot of the current congestion window state for a peer (legacy).

Enums§

CccAlgorithm
Congestion control algorithm selection.
CccEventType
Kinds of congestion events logged in the event ring.
CccState
Congestion controller FSM state.
CongestionEvent
Events that drive congestion controller state transitions (legacy).
CongestionState
Phases of the congestion control state machine (legacy).

Type Aliases§

CccCongestionController
Main congestion controller type alias.
CccConnId
Connection identifier type alias.
CccDecision
Decision returned from ack/loss/timeout handlers.