Versions in this module Expand all Collapse all v0 v0.2.3 Oct 10, 2024 v0.2.2 Oct 10, 2024 Changes in this version + func MaxFilter[O constraints.Ordered](a, b O) int + func Max[T cmp.Ordered](a, b T) T + func MinFilter[O constraints.Ordered](a, b O) int + func Min[T cmp.Ordered](a, b T) T + func NewBbrSender(clock Clock, initialMaxDatagramSize congestion.ByteCount, ...) *bbrSender + type Bandwidth uint64 + const BitsPerSecond + const BytesPerSecond + func BandwidthFromDelta(bytes congestion.ByteCount, delta time.Duration) Bandwidth + type Clock interface + Now func() time.Time + type DefaultClock struct + TimeFunc func() time.Time + func (c DefaultClock) Now() time.Time + type Pacer struct + func NewPacer(getBandwidth func() congestion.ByteCount) *Pacer + func (p *Pacer) Budget(now time.Time) congestion.ByteCount + func (p *Pacer) SentPacket(sendTime time.Time, size congestion.ByteCount) + func (p *Pacer) SetMaxDatagramSize(s congestion.ByteCount) + func (p *Pacer) TimeUntilSend() time.Time + type RingBuffer struct + func (r *RingBuffer[T]) Back() *T + func (r *RingBuffer[T]) Clear() + func (r *RingBuffer[T]) Empty() bool + func (r *RingBuffer[T]) Front() *T + func (r *RingBuffer[T]) Init(size int) + func (r *RingBuffer[T]) Len() int + func (r *RingBuffer[T]) Offset(index int) *T + func (r *RingBuffer[T]) PopFront() T + func (r *RingBuffer[T]) PushBack(t T) + type WindowedFilter struct + func NewWindowedFilter[V WindowedFilterValue, T WindowedFilterTime](windowLength T, comparator func(V, V) int) *WindowedFilter[V, T] + func (f *WindowedFilter[V, T]) Clear() + func (f *WindowedFilter[V, T]) GetBest() V + func (f *WindowedFilter[V, T]) GetSecondBest() V + func (f *WindowedFilter[V, T]) GetThirdBest() V + func (f *WindowedFilter[V, T]) Reset(newSample V, newTime T) + func (f *WindowedFilter[V, T]) SetWindowLength(windowLength T) + func (f *WindowedFilter[V, T]) Update(newSample V, newTime T) + type WindowedFilterTime interface + type WindowedFilterValue interface