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.