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 ¶
type AckedPacketInfo struct { PacketNumber PacketNumber BytesAcked ByteCount ReceivedTime time.Time }
type CongestionControl ¶
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) OnCongestionEventEx(priorInFlight ByteCount, eventTime time.Time, ackedPackets []AckedPacketInfo, lostPackets []LostPacketInfo) OnRetransmissionTimeout(packetsRetransmitted bool) SetMaxDatagramSize(size ByteCount) InSlowStart() bool InRecovery() bool GetCongestionWindow() ByteCount }
type LostPacketInfo ¶
type LostPacketInfo struct { PacketNumber PacketNumber BytesLost ByteCount }
type PacketNumber ¶
type PacketNumber protocol.PacketNumber
type RTTStatsProvider ¶
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.