Skip to main content

TimerCounters

Struct TimerCounters 

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

Epoch-local timer event counters.

Fields are private so all mutation preserves saturation and the completion partition. Consumer adapters read values through the accessors.

Implementations§

Source§

impl TimerCounters

Source

pub const fn record_request(&mut self)

Record a validated schedule or reconciliation request.

Source

pub const fn record_arm(&mut self)

Record an actual one-shot provider arm.

Source

pub const fn record_start(&mut self)

Record a non-stale callback entering logical execution.

Source

pub const fn record_completion(&mut self, outcome: TimerCompletionOutcome)

Record one returned callback and its single completion class.

Source

pub const fn record_cancellation(&mut self)

Record a logical cancellation that wins arbitration.

Source

pub const fn record_stale(&mut self)

Record a provider callback or completion rejected as stale.

Source

pub const fn record_coalesced(&mut self)

Record scheduling demand merged into existing work.

Source

pub const fn record_interruption(&mut self)

Record a started generation established not to have completed.

The interruption belongs to the epoch in which it is observed. It can therefore describe a generation started in an earlier epoch and has no arithmetic invariant with this epoch’s started count.

Source

pub const fn requested(self) -> u64

Return validated scheduling requests.

Source

pub const fn armed(self) -> u64

Return actual provider arm operations.

Source

pub const fn started(self) -> u64

Return callbacks that entered logical execution.

Source

pub const fn completed(self) -> u64

Return callbacks that completed accounting.

Source

pub const fn succeeded(self) -> u64

Return successful-work completions.

Source

pub const fn no_work(self) -> u64

Return valid no-work completions.

Source

pub const fn retryable_failure(self) -> u64

Return retryable expected-failure completions.

Source

pub const fn invariant_failure(self) -> u64

Return invariant or terminal-failure completions.

Source

pub const fn cancelled(self) -> u64

Return logical cancellations that won arbitration.

Source

pub const fn stale(self) -> u64

Return callbacks or completions rejected as stale.

Source

pub const fn coalesced(self) -> u64

Return scheduling demands merged into existing work.

Source

pub const fn interrupted(self) -> u64

Return incomplete generations observed in this epoch.

Source

pub const fn completion_partition_is_valid(self) -> bool

Check that every completion belongs to exactly one outcome class.

Trait Implementations§

Source§

impl Clone for TimerCounters

Source§

fn clone(&self) -> TimerCounters

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 TimerCounters

Source§

impl Debug for TimerCounters

Source§

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

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

impl Default for TimerCounters

Source§

fn default() -> TimerCounters

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

impl Eq for TimerCounters

Source§

impl PartialEq for TimerCounters

Source§

fn eq(&self, other: &TimerCounters) -> 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 TimerCounters

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.