pub trait Count {
// Required methods
fn set(&self, step: usize);
fn step(&self) -> usize;
fn inc_by(&self, step: usize);
fn counter(&self) -> Arc<AtomicUsize, Global>;
// Provided method
fn inc(&self) { ... }
}
Expand description
A thread-safe read-only counter, with unknown limits.
Required Methods§
fn set(&self, step: usize)
fn set(&self, step: usize)
Set the current progress to the given step
. The cost of this call is negligible,
making manual throttling not necessary.
Note: that this call has no effect unless init(…)
was called before.
fn inc_by(&self, step: usize)
fn inc_by(&self, step: usize)
Increment the current progress to the given step
.
The cost of this call is negligible, making manual throttling not necessary.
fn counter(&self) -> Arc<AtomicUsize, Global>
fn counter(&self) -> Arc<AtomicUsize, Global>
Return an atomic counter for direct access to the underlying state.
This is useful if multiple threads want to access the same progress, without the need for provide each their own progress and aggregating the result.
Provided Methods§
fn inc(&self)
fn inc(&self)
Increment the current progress to the given 1. The cost of this call is negligible, making manual throttling not necessary.