pub struct CoordinateOptions { /* private fields */ }Expand description
CoordinateOptions is used to set the parameters of the Vivaldi-based coordinate mapping algorithm.
The following references are called out at various points in the documentation here:
[1] Dabek, Frank, et al. “Vivaldi: A decentralized network coordinate system.” ACM SIGCOMM Computer Communication Review. Vol. 34. No. 4. ACM, 2004. [2] Ledlie, Jonathan, Paul Gardner, and Margo I. Seltzer. “Network Coordinates in the Wild.” NSDI. Vol. 7. 2007. [3] Lee, Sanghwan, et al. “On suitability of Euclidean embedding for host-based network coordinate systems.” Networking, IEEE/ACM Transactions on 18.1 (2010): 27-40.
Implementations§
Source§impl CoordinateOptions
impl CoordinateOptions
Sourcepub const fn dimensionality(&self) -> usize
pub const fn dimensionality(&self) -> usize
Returns the dimensionality of the coordinate system.
Sourcepub const fn vivaldi_error_max(&self) -> f64
pub const fn vivaldi_error_max(&self) -> f64
Returns the default error value when a node hasn’t yet made any observations.
Sourcepub const fn vivaldi_ce(&self) -> f64
pub const fn vivaldi_ce(&self) -> f64
Returns the maximum impact an observation can have on a node’s confidence.
Sourcepub const fn vivaldi_cc(&self) -> f64
pub const fn vivaldi_cc(&self) -> f64
Returns the maximum impact an observation can have on a node’s coordinate.
Sourcepub const fn adjustment_window_size(&self) -> usize
pub const fn adjustment_window_size(&self) -> usize
Returns how many samples we retain to calculate the adjustment factor.
Sourcepub const fn height_min(&self) -> f64
pub const fn height_min(&self) -> f64
Returns the minimum value of the height parameter.
Sourcepub const fn latency_filter_size(&self) -> usize
pub const fn latency_filter_size(&self) -> usize
Returns the maximum number of samples that are retained per node.
Sourcepub const fn gravity_rho(&self) -> f64
pub const fn gravity_rho(&self) -> f64
Returns how much gravity has an effect to try to re-center coordinates.
Sourcepub const fn metric_labels(&self) -> &Arc<MetricLabels>
pub const fn metric_labels(&self) -> &Arc<MetricLabels>
The metric labels used to identify the metrics for this coordinate client.
Sourcepub fn with_dimensionality(self, val: usize) -> Self
pub fn with_dimensionality(self, val: usize) -> Self
Sets the dimensionality of the coordinate system.
Sourcepub fn with_vivaldi_error_max(self, val: f64) -> Self
pub fn with_vivaldi_error_max(self, val: f64) -> Self
Sets the default error value when a node hasn’t yet made any observations.
Sourcepub fn with_vivaldi_ce(self, val: f64) -> Self
pub fn with_vivaldi_ce(self, val: f64) -> Self
Sets the maximum impact an observation can have on a node’s confidence.
Sourcepub fn with_vivaldi_cc(self, val: f64) -> Self
pub fn with_vivaldi_cc(self, val: f64) -> Self
Sets the maximum impact an observation can have on a node’s coordinate.
Sourcepub fn with_adjustment_window_size(self, val: usize) -> Self
pub fn with_adjustment_window_size(self, val: usize) -> Self
Sets how many samples we retain to calculate the adjustment factor.
Sourcepub fn with_height_min(self, val: f64) -> Self
pub fn with_height_min(self, val: f64) -> Self
Sets the minimum value of the height parameter.
Sourcepub fn with_latency_filter_size(self, val: usize) -> Self
pub fn with_latency_filter_size(self, val: usize) -> Self
Sets the maximum number of samples that are retained per node.
Sourcepub fn with_gravity_rho(self, val: f64) -> Self
pub fn with_gravity_rho(self, val: f64) -> Self
Sets how much gravity has an effect to try to re-center coordinates.
Sourcepub fn with_metric_labels(self, val: Arc<MetricLabels>) -> Self
pub fn with_metric_labels(self, val: Arc<MetricLabels>) -> Self
Sets the metric labels used to identify the metrics for this coordinate client.
Trait Implementations§
Source§impl Clone for CoordinateOptions
impl Clone for CoordinateOptions
Source§fn clone(&self) -> CoordinateOptions
fn clone(&self) -> CoordinateOptions
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for CoordinateOptions
impl Debug for CoordinateOptions
Source§impl Default for CoordinateOptions
impl Default for CoordinateOptions
Source§impl<'de> Deserialize<'de> for CoordinateOptions
impl<'de> Deserialize<'de> for CoordinateOptions
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>,
Source§impl PartialEq for CoordinateOptions
impl PartialEq for CoordinateOptions
Source§impl Serialize for CoordinateOptions
impl Serialize for CoordinateOptions
impl StructuralPartialEq for CoordinateOptions
Auto Trait Implementations§
impl Freeze for CoordinateOptions
impl RefUnwindSafe for CoordinateOptions
impl Send for CoordinateOptions
impl Sync for CoordinateOptions
impl Unpin for CoordinateOptions
impl UnwindSafe for CoordinateOptions
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<K, Q> Comparable<Q> for K
impl<K, Q> Comparable<Q> for K
Source§impl<K, Q> Equivalent<Q> for K
impl<K, Q> Equivalent<Q> for K
Source§fn equivalent(&self, key: &Q) -> bool
fn equivalent(&self, key: &Q) -> bool
key and return true if they are equal.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>
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>
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 moreSource§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
out indicating that a T is niched.