Skip to main content

MatchedCounter

Struct MatchedCounter 

Source
pub struct MatchedCounter { /* private fields */ }
Expand description

Turns successive SNAPSHOTS of a matched count into MatchedStatus reports — issue 1972. no_std, no allocation, eight bytes.

A backend that can count its matched peers but has no change counter of its own (zenoh’s graph cache; a DDS backend whose change counters are reset by other readers of the same status) feeds the current count here on every poll, and gets a report only when it moved.

total_count counts INCREASES SEEN between polls. A peer that leaves and another that joins between two polls nets to no change and is not counted; upstream’s DDS counter would count the join. A snapshot cannot do better, and saying so is the honest bound.

Implementations§

Source§

impl MatchedCounter

Source

pub const fn new() -> Self

A counter that has seen nothing matched yet.

Source

pub const fn current(&self) -> u32

The last current_count observed.

Source

pub fn observe(&mut self, current_now: u32) -> Option<MatchedStatus>

Record a snapshot of how many endpoints are matched now. Some with the report when the count moved, None when it did not.

Trait Implementations§

Source§

impl Clone for MatchedCounter

Source§

fn clone(&self) -> MatchedCounter

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Copy for MatchedCounter

Source§

impl Debug for MatchedCounter

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for MatchedCounter

Source§

fn default() -> MatchedCounter

Returns the “default value” for a type. Read more
Source§

impl Eq for MatchedCounter

Source§

impl PartialEq for MatchedCounter

Source§

fn eq(&self, other: &MatchedCounter) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for MatchedCounter

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.