#[non_exhaustive]pub struct Counters {
pub announced: AtomicU64,
pub announced_closed: AtomicU64,
pub subscriptions: AtomicU64,
pub subscriptions_closed: AtomicU64,
pub broadcasts: AtomicU64,
pub broadcasts_closed: AtomicU64,
pub bytes: AtomicU64,
pub frames: AtomicU64,
pub groups: AtomicU64,
}Expand description
Cumulative atomic counters for a single (tier, role) on a broadcast.
Every field is bumped from a RAII guard: the open counters on construction
and their _closed counterparts on drop. broadcasts / broadcasts_closed
are the per-(broadcast, session) subscription sentinel driven by
SessionBroadcasts (the first active subscription a session opens for the
broadcast bumps broadcasts, the last to close bumps broadcasts_closed),
so summed across sessions broadcasts - broadcasts_closed is the count of
distinct sessions currently subscribed.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.announced: AtomicU64§announced_closed: AtomicU64§subscriptions: AtomicU64§subscriptions_closed: AtomicU64§broadcasts: AtomicU64§broadcasts_closed: AtomicU64§bytes: AtomicU64§frames: AtomicU64§groups: AtomicU64Trait Implementations§
Auto Trait Implementations§
impl !Freeze for Counters
impl RefUnwindSafe for Counters
impl Send for Counters
impl Sync for Counters
impl Unpin for Counters
impl UnsafeUnpin for Counters
impl UnwindSafe for Counters
Blanket Implementations§
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