pub struct ConnectionInfo {
pub status: ConnectionStatus,
pub established_at: Instant,
pub last_activity: Instant,
pub success_count: u64,
pub failure_count: u64,
pub avg_response_time: Duration,
pub quality_score: f64,
pub bandwidth_usage: u64,
pub metadata: HashMap<String, String>,
}Expand description
Extended connection information with health and performance metrics
Fields§
§status: ConnectionStatusConnection status
established_at: InstantConnection established timestamp
last_activity: InstantLast activity timestamp
success_count: u64Number of successful operations
failure_count: u64Number of failed operations
avg_response_time: DurationAverage response time
quality_score: f64Connection quality score (0.0 to 1.0)
bandwidth_usage: u64Bandwidth utilization
metadata: HashMap<String, String>Connection metadata
Implementations§
Source§impl ConnectionInfo
impl ConnectionInfo
Sourcepub fn new(status: ConnectionStatus) -> Self
pub fn new(status: ConnectionStatus) -> Self
Create new connection info
Sourcepub fn update_activity(
&mut self,
success: bool,
response_time: Duration,
bytes_transferred: u64,
)
pub fn update_activity( &mut self, success: bool, response_time: Duration, bytes_transferred: u64, )
Update connection activity and performance metrics
Sourcepub fn is_healthy(&self) -> bool
pub fn is_healthy(&self) -> bool
Check if connection is healthy
Trait Implementations§
Source§impl Clone for ConnectionInfo
impl Clone for ConnectionInfo
Source§fn clone(&self) -> ConnectionInfo
fn clone(&self) -> ConnectionInfo
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 ConnectionInfo
impl RefUnwindSafe for ConnectionInfo
impl Send for ConnectionInfo
impl Sync for ConnectionInfo
impl Unpin for ConnectionInfo
impl UnwindSafe for ConnectionInfo
Blanket Implementations§
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> 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<'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
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