CongestionController class abstract

Abstract congestion controller interface for QUIC connections.

Implementations must track bytes in flight and compute a congestion window in bytes. All size and bytes parameters are in bytes.

Implementers

Constructors

CongestionController()

Properties

appLimited bool
Whether the application is currently limited (not sending enough to fill the congestion window).
no setter
bytesInFlight int
Bytes currently in flight.
no setter
congestionWindow int
Current congestion window in bytes.
no setter
hashCode int
The hash code for this object.
no setterinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

canSend(int bytes) bool
Whether sending bytes would exceed the congestion window.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
onAckReceived(int largestAcked, int newlyAckedBytes, DateTime now) → void
Process an ACK.
onECNCEMarked(int count) → void
React to ECN Congestion Experienced (CE) marks.
onPacketLost(int packetNumber, int lostBytes, DateTime now) → void
React to a detected packet loss.
onPacketSent(int packetNumber, int size) → void
Register a sent packet.
onPersistentCongestion() → void
React to persistent congestion being declared (RFC 9002 §7.6).
onRttSample(Duration rtt) → void
Record an RTT sample.
reset() → void
Reset to initial state.
setAppLimited(bool limited) → void
Set the application-limited state.
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited