pub struct ConnectionSnapshot {
pub id: u64,
pub status: ConnectionStatus,
pub connected_at: Option<Instant>,
pub last_activity: Option<Instant>,
pub reconnect_count: u64,
pub error_count: u64,
pub last_error: Option<ConnectError>,
pub last_disconnect: Option<DisconnectReason>,
pub connection_duration: Option<Duration>,
}Expand description
Snapshot of connection state for external consumption
Fields§
§id: u64Current connection ID
status: ConnectionStatusCurrent status
connected_at: Option<Instant>Time when connection was established
last_activity: Option<Instant>Time of last activity
reconnect_count: u64Number of reconnections
error_count: u64Number of errors
last_error: Option<ConnectError>Last error (if any)
last_disconnect: Option<DisconnectReason>Last disconnect reason (if any)
connection_duration: Option<Duration>Current connection duration
Implementations§
Source§impl ConnectionSnapshot
impl ConnectionSnapshot
Sourcepub const fn is_connected(&self) -> bool
pub const fn is_connected(&self) -> bool
Check if currently connected
Sourcepub fn uptime_ratio(&self, since: Instant) -> f64
pub fn uptime_ratio(&self, since: Instant) -> f64
Get uptime percentage (connected time / total time)
Trait Implementations§
Source§impl Clone for ConnectionSnapshot
impl Clone for ConnectionSnapshot
Source§fn clone(&self) -> ConnectionSnapshot
fn clone(&self) -> ConnectionSnapshot
Returns a duplicate of the value. Read more
1.0.0 · 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 ConnectionSnapshot
impl RefUnwindSafe for ConnectionSnapshot
impl Send for ConnectionSnapshot
impl Sync for ConnectionSnapshot
impl Unpin for ConnectionSnapshot
impl UnwindSafe for ConnectionSnapshot
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
Mutably borrows from an owned value. Read more