pub struct GossipStats {
pub total_received: AtomicU64,
pub total_new: AtomicU64,
pub total_duplicates: AtomicU64,
pub total_fanned_out: AtomicU64,
}Expand description
Lock-free counters tracking message flow through the overlay.
Fields§
§total_received: AtomicU64Total messages received (new + duplicates).
total_new: AtomicU64Messages accepted as novel (forwarded to inbound queue).
total_duplicates: AtomicU64Messages discarded as duplicates.
total_fanned_out: AtomicU64Individual (target, message) pairs enqueued for fanout.
Implementations§
Source§impl GossipStats
impl GossipStats
Sourcepub fn snapshot(&self) -> GossipStatsSnapshot
pub fn snapshot(&self) -> GossipStatsSnapshot
Atomically read all counters into a snapshot.
Trait Implementations§
Source§impl Debug for GossipStats
impl Debug for GossipStats
Source§impl Default for GossipStats
impl Default for GossipStats
Source§fn default() -> GossipStats
fn default() -> GossipStats
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl !Freeze for GossipStats
impl RefUnwindSafe for GossipStats
impl Send for GossipStats
impl Sync for GossipStats
impl Unpin for GossipStats
impl UnsafeUnpin for GossipStats
impl UnwindSafe for GossipStats
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> 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