pub struct PathStats {Show 18 fields
pub local_addr: SocketAddr,
pub peer_addr: SocketAddr,
pub validation_state: PathState,
pub active: bool,
pub recv: usize,
pub sent: usize,
pub lost: usize,
pub retrans: usize,
pub rtt: Duration,
pub min_rtt: Option<Duration>,
pub rttvar: Duration,
pub cwnd: usize,
pub sent_bytes: u64,
pub recv_bytes: u64,
pub lost_bytes: u64,
pub stream_retrans_bytes: u64,
pub pmtu: usize,
pub delivery_rate: u64,
}
Expand description
Statistics about the path of a connection.
A connection’s path statistics can be collected using the path_stats()
method.
Fields§
§local_addr: SocketAddr
The local address of the path.
peer_addr: SocketAddr
The peer address of the path.
validation_state: PathState
The path validation state.
active: bool
Whether the path is marked as active.
recv: usize
The number of QUIC packets received.
sent: usize
The number of QUIC packets sent.
lost: usize
The number of QUIC packets that were lost.
retrans: usize
The number of sent QUIC packets with retransmitted data.
rtt: Duration
The estimated round-trip time of the connection.
min_rtt: Option<Duration>
The minimum round-trip time observed.
rttvar: Duration
The estimated round-trip time variation in samples using a mean variation.
cwnd: usize
The size of the connection’s congestion window in bytes.
sent_bytes: u64
The number of sent bytes.
recv_bytes: u64
The number of received bytes.
lost_bytes: u64
The number of bytes lost.
stream_retrans_bytes: u64
The number of stream bytes retransmitted.
pmtu: usize
The current PMTU for the connection.
delivery_rate: u64
The most recent data delivery rate estimate in bytes/s.
Note that this value could be inaccurate if the application does not
respect pacing hints (see SendInfo.at
and Pacing for more
details).
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 UnwindSafe for PathStats
Blanket Implementations§
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§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)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