Struct PathStats
#[non_exhaustive]pub struct PathStats {Show 16 fields
pub rtt: Duration,
pub min_rtt: Duration,
pub cwnd: u64,
pub ssthresh: Option<u64>,
pub pacing_rate: Option<u64>,
pub congestion_events: u64,
pub lost_packets: u64,
pub deferred_migrations: u64,
pub preferred_address_probes: u64,
pub unanswered_off_path_challenges: u64,
pub lost_bytes: u64,
pub sent_packets: u64,
pub sent_plpmtud_probes: u64,
pub lost_plpmtud_probes: u64,
pub black_holes_detected: u64,
pub current_mtu: u16,
}quic and std only.Expand description
Statistics related to a transmission path
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.rtt: DurationCurrent best estimate of this connection’s latency (round-trip-time)
min_rtt: DurationMinimum RTT seen on this path, ignoring ack delay
cwnd: u64Current congestion window of the connection
ssthresh: Option<u64>The window at which the controller leaves slow start, when it has one. BBR paces instead and reports none.
pacing_rate: Option<u64>The rate the controller paces at, in bits per second, when it paces.
congestion_events: u64Congestion events on the connection
lost_packets: u64The amount of packets lost on this path
deferred_migrations: u64Peer moves deferred because no unused destination connection ID was available
preferred_address_probes: u64PATH_CHALLENGE probes transmitted towards a server’s preferred address
unanswered_off_path_challenges: u64PATH_CHALLENGEs from a path this connection has no connection ID for, so their answers were dropped rather than sent with an identifier used elsewhere
lost_bytes: u64The amount of bytes lost on this path
sent_packets: u64The amount of packets sent on this path
sent_plpmtud_probes: u64The amount of PLPMTUD probe packets sent on this path (also counted by sent_packets)
lost_plpmtud_probes: u64The amount of PLPMTUD probe packets lost on this path (ignored by lost_packets and
lost_bytes)
black_holes_detected: u64The number of times a black hole was detected in the path
current_mtu: u16Largest UDP payload size the path currently supports
Trait Implementations§
Auto Trait Implementations§
impl Freeze for PathStats
impl RefUnwindSafe for PathStats
impl Send for PathStats
impl Sync for PathStats
impl Unpin for PathStats
impl UnsafeUnpin for PathStats
impl UnwindSafe for PathStats
Blanket Implementations§
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§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
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,
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
§fn with_current_context(self) -> WithContext<Self> ⓘ
fn with_current_context(self) -> WithContext<Self> ⓘ
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
§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 more§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a rama_grpc::Request§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
§fn and<P, B, E>(self, other: P) -> And<T, P>
fn and<P, B, E>(self, other: P) -> And<T, P>
Policy that returns Action::Follow only if self and other return
Action::Follow. Read more