pub struct QualityPredictorConfig {
pub max_samples: usize,
pub latency_weight: f64,
pub bandwidth_weight: f64,
pub reliability_weight: f64,
pub uptime_weight: f64,
pub smoothing_factor: f64,
pub min_acceptable_quality: f64,
pub switch_threshold: f64,
pub enable_predictions: bool,
}Expand description
Configuration for the quality predictor
Fields§
§max_samples: usizeMaximum number of samples to keep per peer
latency_weight: f64Weight for latency in quality score (0.0 - 1.0)
bandwidth_weight: f64Weight for bandwidth in quality score (0.0 - 1.0)
reliability_weight: f64Weight for reliability in quality score (0.0 - 1.0)
uptime_weight: f64Weight for uptime in quality score (0.0 - 1.0)
smoothing_factor: f64Smoothing factor for exponential moving average (0.0 - 1.0)
min_acceptable_quality: f64Minimum quality score for acceptable connections (0.0 - 1.0)
switch_threshold: f64Quality threshold below which to recommend switching (0.0 - 1.0)
enable_predictions: boolEnable prediction-based recommendations
Implementations§
Source§impl QualityPredictorConfig
impl QualityPredictorConfig
Sourcepub fn low_latency() -> Self
pub fn low_latency() -> Self
Create a configuration optimized for low-latency applications
Sourcepub fn high_bandwidth() -> Self
pub fn high_bandwidth() -> Self
Create a configuration optimized for high-bandwidth applications
Sourcepub fn high_reliability() -> Self
pub fn high_reliability() -> Self
Create a configuration optimized for reliability
Sourcepub fn validate(&self) -> Result<(), QualityPredictorError>
pub fn validate(&self) -> Result<(), QualityPredictorError>
Validate the configuration
Trait Implementations§
Source§impl Clone for QualityPredictorConfig
impl Clone for QualityPredictorConfig
Source§fn clone(&self) -> QualityPredictorConfig
fn clone(&self) -> QualityPredictorConfig
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for QualityPredictorConfig
impl Debug for QualityPredictorConfig
Source§impl Default for QualityPredictorConfig
impl Default for QualityPredictorConfig
Source§impl<'de> Deserialize<'de> for QualityPredictorConfig
impl<'de> Deserialize<'de> for QualityPredictorConfig
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for QualityPredictorConfig
impl RefUnwindSafe for QualityPredictorConfig
impl Send for QualityPredictorConfig
impl Sync for QualityPredictorConfig
impl Unpin for QualityPredictorConfig
impl UnwindSafe for QualityPredictorConfig
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more