pub struct TimeoutEstimate {
pub peer_id: String,
pub srtt_micros: f64,
pub rttvar_micros: f64,
pub timeout_micros: u64,
pub sample_count: u32,
}Expand description
The current timeout estimate and smoothed RTT state for a single peer.
Fields§
§peer_id: StringIdentifies the remote peer.
srtt_micros: f64Exponentially-weighted moving average of the RTT (µs).
rttvar_micros: f64Mean deviation of the RTT (µs), used as a variance proxy.
timeout_micros: u64Recommended timeout in microseconds: srtt + 4 * rttvar, clamped to AdaptiveTimeoutConfig::min_timeout_micros .. AdaptiveTimeoutConfig::max_timeout_micros.
sample_count: u32Number of RTT samples recorded for this peer.
Trait Implementations§
Source§impl Clone for TimeoutEstimate
impl Clone for TimeoutEstimate
Source§fn clone(&self) -> TimeoutEstimate
fn clone(&self) -> TimeoutEstimate
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for TimeoutEstimate
impl RefUnwindSafe for TimeoutEstimate
impl Send for TimeoutEstimate
impl Sync for TimeoutEstimate
impl Unpin for TimeoutEstimate
impl UnsafeUnpin for TimeoutEstimate
impl UnwindSafe for TimeoutEstimate
Blanket Implementations§
impl<T> Allocation for T
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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