Documentation ¶
Index ¶
Constants ¶
View Source
const ( InitialPacketSizeIPv4 = protocol.InitialPacketSizeIPv4 InitialPacketSizeIPv6 = protocol.InitialPacketSizeIPv6 MinPacingDelay = protocol.MinPacingDelay MaxPacketBufferSize = protocol.MaxPacketBufferSize MinInitialPacketSize = protocol.MinInitialPacketSize MaxCongestionWindowPackets = protocol.MaxCongestionWindowPackets PacketsPerConnectionID = protocol.PacketsPerConnectionID )
Expose some constants from protocol that congestion control algorithms may need.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AckedPacketInfo ¶ added in v0.39.2
type AckedPacketInfo struct { PacketNumber PacketNumber BytesAcked ByteCount ReceivedTime time.Time }
type CongestionControl ¶ added in v0.39.1
type CongestionControl interface { SetRTTStatsProvider(provider RTTStatsProvider) TimeUntilSend(bytesInFlight ByteCount) time.Time HasPacingBudget(now time.Time) bool OnPacketSent(sentTime time.Time, bytesInFlight ByteCount, packetNumber PacketNumber, bytes ByteCount, isRetransmittable bool) CanSend(bytesInFlight ByteCount) bool MaybeExitSlowStart() OnPacketAcked(number PacketNumber, ackedBytes ByteCount, priorInFlight ByteCount, eventTime time.Time) OnCongestionEvent(number PacketNumber, lostBytes ByteCount, priorInFlight ByteCount) OnRetransmissionTimeout(packetsRetransmitted bool) SetMaxDatagramSize(size ByteCount) InSlowStart() bool InRecovery() bool GetCongestionWindow() ByteCount }
type CongestionControlEx ¶ added in v0.39.2
type CongestionControlEx interface { CongestionControl OnCongestionEventEx(priorInFlight ByteCount, eventTime time.Time, ackedPackets []AckedPacketInfo, lostPackets []LostPacketInfo) }
type LostPacketInfo ¶ added in v0.39.2
type LostPacketInfo struct { PacketNumber PacketNumber BytesLost ByteCount }
type PacketNumber ¶ added in v0.39.1
type PacketNumber protocol.PacketNumber
type RTTStatsProvider ¶ added in v0.39.1
type RTTStatsProvider interface { MinRTT() time.Duration LatestRTT() time.Duration SmoothedRTT() time.Duration MeanDeviation() time.Duration MaxAckDelay() time.Duration PTO(includeMaxAckDelay bool) time.Duration UpdateRTT(sendDelta, ackDelay time.Duration, now time.Time) SetMaxAckDelay(mad time.Duration) SetInitialRTT(t time.Duration) OnConnectionMigration() ExpireSmoothedMetrics() }
Click to show internal directories.
Click to hide internal directories.