Struct FieldTrials

Source
pub struct FieldTrials {
Show 26 fields pub robust_throughput_estimator_settings: RobustThroughputEstimatorSettings, pub probing_configuration: ProbeControllerConfig, pub rapid_recovery_experiment: bool, pub alr_detector_parameters: AlrDetectorConfig, pub alr_experiment_settings: AlrExperimentSettings, pub add_pacing_to_congestion_window_pushback: bool, pub congestion_window: CongestionWindowConfig, pub video_rate_control: VideoRateControlConfig, pub vp8_base_heavy_tl3_alloc: bool, pub separate_audio_packets: BweSeparateAudioPacketsSettings, pub loss_based_control: LossBasedControlConfig, pub loss_based_bwe_v2: LossBasedBweV2Config, pub max_rtt_limit: RttBasedBackoffConfig, pub trendline_estimator_settings: TrendlineEstimatorSettings, pub bwe_back_off_factor: BweBackOffFactor, pub no_bitrate_increase_in_alr: bool, pub estimate_bounded_increase: EstimateBoundedIncrease, pub min_alloc_as_lower_bound: bool, pub ignore_probes_lower_than_network_state_estimate: bool, pub limit_probes_lower_than_throughput_estimate: bool, pub pace_at_max_of_bwe_and_lower_link_capacity: bool, pub limit_pacing_factor_by_upper_link_capacity_estimate: bool, pub safe_reset_on_route_change: SafeResetOnRouteChange, pub bwe_throughput_window_config: BitrateEstimatorConfig, pub loss_experiment: BweLossExperiment, pub receiver_limit_caps_only: bool,
}
Expand description

Current field trials for WebRTC that impact GoogCC.

These have been painstakingly extracted from the WebRTC source code. Normally these field trials are enabled via bespoke string parsing, but that is very difficult to port correctly. I decided to make everything type safe which doubles as documentation; ur welcome.

Fields§

§robust_throughput_estimator_settings: RobustThroughputEstimatorSettings

WebRTC-Bwe-RobustThroughputEstimatorSettings

§probing_configuration: ProbeControllerConfig

WebRTC-Bwe-ProbingConfiguration

§rapid_recovery_experiment: bool

WebRTC-BweRapidRecoveryExperiment

§alr_detector_parameters: AlrDetectorConfig

WebRTC-AlrDetectorParameters

§alr_experiment_settings: AlrExperimentSettings

WebRTC-ProbingScreenshareBwe or WebRTC-StrictPacingAndProbing (legacy?)

§add_pacing_to_congestion_window_pushback: bool

WebRTC-AddPacingToCongestionWindowPushback

§congestion_window: CongestionWindowConfig

WebRTC-CongestionWindow

§video_rate_control: VideoRateControlConfig

WebRTC-VideoRateControl

§vp8_base_heavy_tl3_alloc: bool

WebRTC-UseBaseHeavyVP8TL3RateAllocation

§separate_audio_packets: BweSeparateAudioPacketsSettings

WebRTC-Bwe-SeparateAudioPackets

§loss_based_control: LossBasedControlConfig

WebRTC-Bwe-LossBasedControl

§loss_based_bwe_v2: LossBasedBweV2Config

LossBasedBweV2Config

§max_rtt_limit: RttBasedBackoffConfig

WebRTC-Bwe-MaxRttLimit

§trendline_estimator_settings: TrendlineEstimatorSettings

WebRTC-Bwe-TrendlineEstimatorSettings

§bwe_back_off_factor: BweBackOffFactor

WebRTC-BweBackOffFactor

§no_bitrate_increase_in_alr: bool

WebRTC-DontIncreaseDelayBasedBweInAlr

§estimate_bounded_increase: EstimateBoundedIncrease

WebRTC-Bwe-EstimateBoundedIncrease

§min_alloc_as_lower_bound: bool

WebRTC-Bwe-MinAllocAsLowerBound

§ignore_probes_lower_than_network_state_estimate: bool

WebRTC-Bwe-IgnoreProbesLowerThanNetworkStateEstimate

§limit_probes_lower_than_throughput_estimate: bool

WebRTC-Bwe-LimitProbesLowerThanThroughputEstimate

§pace_at_max_of_bwe_and_lower_link_capacity: bool

WebRTC-Bwe-PaceAtMaxOfBweAndLowerLinkCapacity

§limit_pacing_factor_by_upper_link_capacity_estimate: bool

WebRTC-Bwe-LimitPacingFactorByUpperLinkCapacityEstimate

§safe_reset_on_route_change: SafeResetOnRouteChange

WebRTC-Bwe-SafeResetOnRouteChange

§bwe_throughput_window_config: BitrateEstimatorConfig

WebRTC-BweThroughputWindowConfig

§loss_experiment: BweLossExperiment

WebRTC-BweLossExperiment

§receiver_limit_caps_only: bool

WebRTC-Bwe-ReceiverLimitCapsOnly

Trait Implementations§

Source§

impl Clone for FieldTrials

Source§

fn clone(&self) -> FieldTrials

Returns a duplicate of the value. Read more
1.0.0 · Source§

const fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for FieldTrials

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for FieldTrials

Source§

fn default() -> Self

Returns the “default value” for a type. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more