Documentation
¶
Index ¶
- type Base
- type LeakyBucket
- type NoQueue
- type Pacer
- type PacerBehavior
- type PacerProbeObserverListener
- type Packet
- type PassThrough
- type ProbeObserver
- func (po *ProbeObserver) EndProbeCluster(probeClusterId ccutils.ProbeClusterId) ccutils.ProbeClusterInfo
- func (po *ProbeObserver) RecordPacket(size int, isRTX bool, probeClusterId ccutils.ProbeClusterId, isProbe bool)
- func (po *ProbeObserver) SetPacerProbeObserverListener(listener PacerProbeObserverListener)
- func (po *ProbeObserver) StartProbeCluster(pci ccutils.ProbeClusterInfo)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Base ¶
type Base struct {
*ProbeObserver
// contains filtered or unexported fields
}
func (*Base) SetBitrate ¶
func (*Base) SetInterval ¶
func (*Base) TimeSinceLastSentPacket ¶
type LeakyBucket ¶
type LeakyBucket struct {
*Base
// contains filtered or unexported fields
}
func NewLeakyBucket ¶
func (*LeakyBucket) Enqueue ¶
func (l *LeakyBucket) Enqueue(p *Packet)
func (*LeakyBucket) SetBitrate ¶
func (l *LeakyBucket) SetBitrate(bitrate int)
func (*LeakyBucket) SetInterval ¶
func (l *LeakyBucket) SetInterval(interval time.Duration)
func (*LeakyBucket) Stop ¶
func (l *LeakyBucket) Stop()
type Pacer ¶
type Pacer interface {
Enqueue(p *Packet)
Stop()
SetInterval(interval time.Duration)
SetBitrate(bitrate int)
TimeSinceLastSentPacket() time.Duration
SetPacerProbeObserverListener(listener PacerProbeObserverListener)
StartProbeCluster(pci ccutils.ProbeClusterInfo)
EndProbeCluster(probeClusterId ccutils.ProbeClusterId) ccutils.ProbeClusterInfo
}
type PacerBehavior ¶
type PacerBehavior string
const ( PacerBehaviorPassThrough PacerBehavior = "pass-through" PacerBehaviorNoQueue PacerBehavior = "no-queue" PacerBehaviorLeakybucket PacerBehavior = "leaky-bucket" )
type PacerProbeObserverListener ¶
type PacerProbeObserverListener interface {
OnPacerProbeObserverClusterComplete(probeClusterId ccutils.ProbeClusterId)
}
type PassThrough ¶
type PassThrough struct {
*Base
}
func NewPassThrough ¶
func NewPassThrough(logger logger.Logger, bwe bwe.BWE) *PassThrough
func (*PassThrough) Enqueue ¶
func (p *PassThrough) Enqueue(pkt *Packet)
func (*PassThrough) Stop ¶
func (p *PassThrough) Stop()
type ProbeObserver ¶
type ProbeObserver struct {
// contains filtered or unexported fields
}
func NewProbeObserver ¶
func NewProbeObserver(logger logger.Logger) *ProbeObserver
func (*ProbeObserver) EndProbeCluster ¶
func (po *ProbeObserver) EndProbeCluster(probeClusterId ccutils.ProbeClusterId) ccutils.ProbeClusterInfo
func (*ProbeObserver) RecordPacket ¶
func (po *ProbeObserver) RecordPacket(size int, isRTX bool, probeClusterId ccutils.ProbeClusterId, isProbe bool)
func (*ProbeObserver) SetPacerProbeObserverListener ¶
func (po *ProbeObserver) SetPacerProbeObserverListener(listener PacerProbeObserverListener)
func (*ProbeObserver) StartProbeCluster ¶
func (po *ProbeObserver) StartProbeCluster(pci ccutils.ProbeClusterInfo)
Click to show internal directories.
Click to hide internal directories.