Help us shape the future of Go! Take the 2026 Go Developer Survey

remotebwe

package
v1.13.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 18, 2026 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Index

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 NackTrackerConfig struct {
	WindowMinDuration time.Duration `yaml:"window_min_duration,omitempty"`
	WindowMaxDuration time.Duration `yaml:"window_max_duration,omitempty"`
	RatioThreshold    float64       `yaml:"ratio_threshold,omitempty"`
}

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

type RemoteBWE struct {
	bwe.NullBWE
	// contains filtered or unexported fields
}

func NewRemoteBWE

func NewRemoteBWE(params RemoteBWEParams) *RemoteBWE

func (*RemoteBWE) CanProbe

func (r *RemoteBWE) CanProbe() bool

func (*RemoteBWE) CongestionState

func (r *RemoteBWE) CongestionState() bwe.CongestionState

func (*RemoteBWE) HandleREMB

func (r *RemoteBWE) HandleREMB(
	receivedEstimate int64,
	expectedBandwidthUsage int64,
	sentPackets uint32,
	repeatedNacks uint32,
)

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 (r *RemoteBWE) ProbeClusterIsGoalReached() bool

func (*RemoteBWE) ProbeClusterStarting

func (r *RemoteBWE) ProbeClusterStarting(pci ccutils.ProbeClusterInfo)

func (*RemoteBWE) ProbeDuration

func (r *RemoteBWE) ProbeDuration() time.Duration

func (*RemoteBWE) Reset

func (r *RemoteBWE) Reset()

func (*RemoteBWE) SetBWEListener

func (r *RemoteBWE) SetBWEListener(bweListener bwe.BWEListener)

func (*RemoteBWE) Type added in v1.9.1

func (r *RemoteBWE) Type() bwe.BWEType

func (*RemoteBWE) UpdateRTT

func (r *RemoteBWE) UpdateRTT(rtt float64)

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
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL