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()
Creates a congestion controller interface.

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