Documentation ¶
Index ¶
- Variables
- type ChannelObserverConfig
- type NackTrackerConfig
- type ProbeControllerConfig
- type RemoteBWE
- func (r *RemoteBWE) CanProbe() bool
- func (r *RemoteBWE) CongestionState() bwe.CongestionState
- func (r *RemoteBWE) HandleREMB(receivedEstimate int64, expectedBandwidthUsage int64, sentPackets uint32, ...)
- func (r *RemoteBWE) ProbeClusterDone(pci ccutils.ProbeClusterInfo)
- func (r *RemoteBWE) ProbeClusterFinalize() (ccutils.ProbeSignal, int64, bool)
- func (r *RemoteBWE) ProbeClusterIsGoalReached() bool
- func (r *RemoteBWE) ProbeClusterStarting(pci ccutils.ProbeClusterInfo)
- func (r *RemoteBWE) ProbeDuration() time.Duration
- func (r *RemoteBWE) Reset()
- func (r *RemoteBWE) SetBWEListener(bweListener bwe.BWEListener)
- func (r *RemoteBWE) UpdateRTT(rtt float64)
- type RemoteBWEConfig
- type RemoteBWEParams
Constants ¶
This section is empty.
Variables ¶
View Source
var ( DefaultProbeControllerConfig = ProbeControllerConfig{ ProbeRegulator: ccutils.DefaultProbeRegulatorConfig, SettleWaitNumRTT: 5, SettleWaitMin: 250 * time.Millisecond, SettleWaitMax: 5 * time.Second, } )
View Source
var ( DefaultRemoteBWEConfig = RemoteBWEConfig{ NackRatioAttenuator: 0.4, ExpectedUsageThreshold: 0.95, ChannelObserverProbe: defaultChannelObserverConfigProbe, ChannelObserverNonProbe: defaultChannelObserverConfigNonProbe, ProbeController: DefaultProbeControllerConfig, } )
Functions ¶
This section is empty.
Types ¶
type ChannelObserverConfig ¶
type ChannelObserverConfig struct { Estimate ccutils.TrendDetectorConfig `yaml:"estimate,omitempty"` Nack NackTrackerConfig `yaml:"nack,omitempty"` }
type NackTrackerConfig ¶
type ProbeControllerConfig ¶
type ProbeControllerConfig struct { ProbeRegulator ccutils.ProbeRegulatorConfig `yaml:"probe_regulator,omitempty"` SettleWaitNumRTT uint32 `yaml:"settle_wait_num_rtt,omitempty"` SettleWaitMin time.Duration `yaml:"settle_wait_min,omitempty"` SettleWaitMax time.Duration `yaml:"settle_wait_max,omitempty"` }
type RemoteBWE ¶
func NewRemoteBWE ¶
func NewRemoteBWE(params RemoteBWEParams) *RemoteBWE
func (*RemoteBWE) CongestionState ¶
func (r *RemoteBWE) CongestionState() bwe.CongestionState
func (*RemoteBWE) HandleREMB ¶
func (*RemoteBWE) ProbeClusterDone ¶
func (r *RemoteBWE) ProbeClusterDone(pci ccutils.ProbeClusterInfo)
func (*RemoteBWE) ProbeClusterFinalize ¶
func (r *RemoteBWE) ProbeClusterFinalize() (ccutils.ProbeSignal, int64, bool)
func (*RemoteBWE) ProbeClusterIsGoalReached ¶
func (*RemoteBWE) ProbeClusterStarting ¶
func (r *RemoteBWE) ProbeClusterStarting(pci ccutils.ProbeClusterInfo)
func (*RemoteBWE) ProbeDuration ¶
func (*RemoteBWE) SetBWEListener ¶
func (r *RemoteBWE) SetBWEListener(bweListener bwe.BWEListener)
type RemoteBWEConfig ¶
type RemoteBWEConfig struct { NackRatioAttenuator float64 `yaml:"nack_ratio_attenuator,omitempty"` ExpectedUsageThreshold float64 `yaml:"expected_usage_threshold,omitempty"` ChannelObserverProbe ChannelObserverConfig `yaml:"channel_observer_probe,omitempty"` ChannelObserverNonProbe ChannelObserverConfig `yaml:"channel_observer_non_probe,omitempty"` ProbeController ProbeControllerConfig `yaml:"probe_controller,omitempty"` }
type RemoteBWEParams ¶
type RemoteBWEParams struct { Config RemoteBWEConfig Logger logger.Logger }
Click to show internal directories.
Click to hide internal directories.