pub struct PeerQualityEvidence { /* private fields */ }Expand description
Recent local evidence used to classify a peer.
The counters are local observations only. They do not claim global reputation and are not signed or replicated.
Implementations§
Source§impl PeerQualityEvidence
impl PeerQualityEvidence
Sourcepub const fn new(
connected: u64,
disconnected: u64,
sent: u64,
failed_to_send: u64,
received: u64,
failed_to_receive: u64,
) -> Self
pub const fn new( connected: u64, disconnected: u64, sent: u64, failed_to_send: u64, received: u64, failed_to_receive: u64, ) -> Self
Build evidence from explicit counter values.
Sourcepub async fn from_measure<M>(measure: &M, did: Did) -> Self
pub async fn from_measure<M>(measure: &M, did: Did) -> Self
Read all counters for did from a measurement implementation.
Sourcepub const fn classify(self, thresholds: PeerQualityThresholds) -> PeerQuality
pub const fn classify(self, thresholds: PeerQualityThresholds) -> PeerQuality
Classify this evidence under the supplied thresholds.
Sourcepub const fn has_positive_observation(self) -> bool
pub const fn has_positive_observation(self) -> bool
Return whether any successful local observation exists.
Sourcepub const fn reaches_failure_limit(
self,
thresholds: PeerQualityThresholds,
) -> bool
pub const fn reaches_failure_limit( self, thresholds: PeerQualityThresholds, ) -> bool
Return whether any failure counter has reached its configured limit.
Trait Implementations§
Source§impl Clone for PeerQualityEvidence
impl Clone for PeerQualityEvidence
Source§fn clone(&self) -> PeerQualityEvidence
fn clone(&self) -> PeerQualityEvidence
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 moreimpl Copy for PeerQualityEvidence
Source§impl Debug for PeerQualityEvidence
impl Debug for PeerQualityEvidence
impl Eq for PeerQualityEvidence
Source§impl PartialEq for PeerQualityEvidence
impl PartialEq for PeerQualityEvidence
Source§fn eq(&self, other: &PeerQualityEvidence) -> bool
fn eq(&self, other: &PeerQualityEvidence) -> bool
Tests for
self and other values to be equal, and is used by ==.impl StructuralPartialEq for PeerQualityEvidence
Auto Trait Implementations§
impl Freeze for PeerQualityEvidence
impl RefUnwindSafe for PeerQualityEvidence
impl Send for PeerQualityEvidence
impl Sync for PeerQualityEvidence
impl Unpin for PeerQualityEvidence
impl UnsafeUnpin for PeerQualityEvidence
impl UnwindSafe for PeerQualityEvidence
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
impl<T> ErasedDestructor for Twhere
T: 'static,
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 moreSource§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Returns the layout of the type.
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Returns whether the given value has been niched. Read more
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
Writes data to
out indicating that a T is niched.