pub struct MessageTrace {
pub msg_id: u64,
pub first_seen_tick: u64,
pub received_count: u32,
pub forward_count: u32,
pub duplicate_count: u32,
pub min_hop_count: u32,
}Expand description
Per-message trace accumulating all observations of a given message.
Fields§
§msg_id: u64Unique message identifier.
first_seen_tick: u64Logical tick at which this message was first seen.
received_count: u32Total times the message was received (including duplicates).
forward_count: u32Number of times this message was forwarded.
duplicate_count: u32Number of duplicate receptions detected.
min_hop_count: u32Minimum hop count observed across all receptions.
Implementations§
Source§impl MessageTrace
impl MessageTrace
Sourcepub fn redundancy_ratio(&self) -> f64
pub fn redundancy_ratio(&self) -> f64
Fraction of receptions that were duplicates.
Returns duplicate_count / received_count.max(1) as an f64.
Trait Implementations§
Source§impl Clone for MessageTrace
impl Clone for MessageTrace
Source§fn clone(&self) -> MessageTrace
fn clone(&self) -> MessageTrace
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 moreSource§impl Debug for MessageTrace
impl Debug for MessageTrace
Source§impl PartialEq for MessageTrace
impl PartialEq for MessageTrace
Source§fn eq(&self, other: &MessageTrace) -> bool
fn eq(&self, other: &MessageTrace) -> bool
Tests for
self and other values to be equal, and is used by ==.impl StructuralPartialEq for MessageTrace
Auto Trait Implementations§
impl Freeze for MessageTrace
impl RefUnwindSafe for MessageTrace
impl Send for MessageTrace
impl Sync for MessageTrace
impl Unpin for MessageTrace
impl UnsafeUnpin for MessageTrace
impl UnwindSafe for MessageTrace
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