Versions in this module Expand all Collapse all v0 v0.7.0 Feb 3, 2018 Changes in this version + type Bandwidth uint64 + const BitsPerSecond + const BytesPerSecond + func BandwidthFromDelta(bytes protocol.ByteCount, delta time.Duration) Bandwidth + type Clock interface + Now func() time.Time + type Cubic struct + func NewCubic(clock Clock) *Cubic + func (c *Cubic) CongestionWindowAfterAck(currentCongestionWindow protocol.PacketNumber, delayMin time.Duration) protocol.PacketNumber + func (c *Cubic) CongestionWindowAfterPacketLoss(currentCongestionWindow protocol.PacketNumber) protocol.PacketNumber + func (c *Cubic) OnApplicationLimited() + func (c *Cubic) Reset() + func (c *Cubic) SetNumConnections(n int) + type DefaultClock struct + func (DefaultClock) Now() time.Time + type HybridSlowStart struct + func (s *HybridSlowStart) IsEndOfRound(ack protocol.PacketNumber) bool + func (s *HybridSlowStart) OnPacketAcked(ackedPacketNumber protocol.PacketNumber) + func (s *HybridSlowStart) OnPacketSent(packetNumber protocol.PacketNumber) + func (s *HybridSlowStart) Restart() + func (s *HybridSlowStart) ShouldExitSlowStart(latestRTT time.Duration, minRTT time.Duration, ...) bool + func (s *HybridSlowStart) StartReceiveRound(lastSent protocol.PacketNumber) + func (s *HybridSlowStart) Started() bool + type PrrSender struct + func (p *PrrSender) OnPacketAcked(ackedBytes protocol.ByteCount) + func (p *PrrSender) OnPacketLost(bytesInFlight protocol.ByteCount) + func (p *PrrSender) OnPacketSent(sentBytes protocol.ByteCount) + func (p *PrrSender) TimeUntilSend(congestionWindow, bytesInFlight, slowstartThreshold protocol.ByteCount) time.Duration + type RTTStats struct + func NewRTTStats() *RTTStats + func (r *RTTStats) ExpireSmoothedMetrics() + func (r *RTTStats) GetHalfWindowRTT() time.Duration + func (r *RTTStats) GetQuarterWindowRTT() time.Duration + func (r *RTTStats) InitialRTTus() int64 + func (r *RTTStats) LatestRTT() time.Duration + func (r *RTTStats) MeanDeviation() time.Duration + func (r *RTTStats) MinRTT() time.Duration + func (r *RTTStats) OnConnectionMigration() + func (r *RTTStats) RecentMinRTT() time.Duration + func (r *RTTStats) SampleNewRecentMinRTT(numSamples uint32) + func (r *RTTStats) SetRecentMinRTTwindow(recentMinRTTwindow time.Duration) + func (r *RTTStats) SmoothedRTT() time.Duration + func (r *RTTStats) UpdateRTT(sendDelta, ackDelay time.Duration, now time.Time) + type SendAlgorithm interface + GetCongestionWindow func() protocol.ByteCount + MaybeExitSlowStart func() + OnConnectionMigration func() + OnPacketAcked func(number protocol.PacketNumber, ackedBytes protocol.ByteCount, ...) + OnPacketLost func(number protocol.PacketNumber, lostBytes protocol.ByteCount, ...) + OnPacketSent func(sentTime time.Time, bytesInFlight protocol.ByteCount, ...) bool + OnRetransmissionTimeout func(packetsRetransmitted bool) + RetransmissionDelay func() time.Duration + SetNumEmulatedConnections func(n int) + SetSlowStartLargeReduction func(enabled bool) + TimeUntilSend func(bytesInFlight protocol.ByteCount) time.Duration + type SendAlgorithmWithDebugInfo interface + BandwidthEstimate func() Bandwidth + HybridSlowStart func() *HybridSlowStart + InRecovery func() bool + RenoBeta func() float32 + SlowstartThreshold func() protocol.PacketNumber + func NewCubicSender(clock Clock, rttStats *RTTStats, reno bool, ...) SendAlgorithmWithDebugInfo