pub struct PeerRecord {
pub peer_id: String,
pub addresses: Vec<String>,
pub source: DiscoverySource,
pub discovered_at_secs: u64,
pub last_seen_secs: u64,
pub successful_connections: u32,
pub failed_connections: u32,
}Expand description
A record representing a discovered peer and its connection history.
Fields§
§peer_id: StringPeer identifier (libp2p PeerId as string)
addresses: Vec<String>Known multiaddrs for this peer
source: DiscoverySourceSource from which this peer was discovered
discovered_at_secs: u64Unix timestamp (seconds) when this peer was first discovered
last_seen_secs: u64Unix timestamp (seconds) when this peer was last seen
successful_connections: u32Number of successful connection attempts
failed_connections: u32Number of failed connection attempts
Implementations§
Source§impl PeerRecord
impl PeerRecord
Sourcepub fn reliability_score(&self) -> f64
pub fn reliability_score(&self) -> f64
Compute a reliability score in [0.0, 1.0].
Returns 0.5 when no connection attempts have been made.
Otherwise returns successful / (successful + failed).
Trait Implementations§
Source§impl Clone for PeerRecord
impl Clone for PeerRecord
Source§fn clone(&self) -> PeerRecord
fn clone(&self) -> PeerRecord
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 PeerRecord
impl RefUnwindSafe for PeerRecord
impl Send for PeerRecord
impl Sync for PeerRecord
impl Unpin for PeerRecord
impl UnsafeUnpin for PeerRecord
impl UnwindSafe for PeerRecord
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