pub struct ConnectionRecord {
pub conn_id: u64,
pub peer_id: String,
pub state: ConnectionHealthState,
pub events: Vec<ConnectionEvent>,
pub bytes_sent: u64,
pub bytes_received: u64,
pub consecutive_failures: u32,
pub avg_rtt_ms: f64,
}Expand description
A record tracking the full observable state of one connection.
Fields§
§conn_id: u64Stable numeric identifier assigned at open time.
peer_id: StringHuman-readable peer identifier (e.g. peer ID string, socket address).
state: ConnectionHealthStateCurrent health state.
events: Vec<ConnectionEvent>Ring buffer of the most recent events (capped at MAX_EVENTS).
bytes_sent: u64Cumulative bytes written to this connection.
bytes_received: u64Cumulative bytes read from this connection.
consecutive_failures: u32Number of consecutive keepalive failures without an intervening success.
avg_rtt_ms: f64Exponentially weighted moving average of the RTT in milliseconds. Initialised to 0.0 before any sample arrives.
Implementations§
Source§impl ConnectionRecord
impl ConnectionRecord
Sourcepub fn is_alive(&self) -> bool
pub fn is_alive(&self) -> bool
Returns true when the connection is not in the ConnectionHealthState::Dead state.
Trait Implementations§
Source§impl Clone for ConnectionRecord
impl Clone for ConnectionRecord
Source§fn clone(&self) -> ConnectionRecord
fn clone(&self) -> ConnectionRecord
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 ConnectionRecord
impl RefUnwindSafe for ConnectionRecord
impl Send for ConnectionRecord
impl Sync for ConnectionRecord
impl Unpin for ConnectionRecord
impl UnsafeUnpin for ConnectionRecord
impl UnwindSafe for ConnectionRecord
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