pub trait Provider {
// Required method
fn timers<Q: Query>(&self, query: &mut Q) -> Result;
// Provided methods
fn next_expiration(&self) -> Option<Timestamp> { ... }
fn is_armed(&self) -> bool { ... }
fn armed_timer_count(&self) -> usize { ... }
fn for_each_timer<F: FnMut(&Timer) -> Result>(&self, f: F) { ... }
}Expand description
A trait for a components that owns at least one timer
Required Methods§
Provided Methods§
Sourcefn next_expiration(&self) -> Option<Timestamp>
fn next_expiration(&self) -> Option<Timestamp>
Returns the next Timestamp at which the earliest timer is armed in the provider
Sourcefn armed_timer_count(&self) -> usize
fn armed_timer_count(&self) -> usize
Counts the number of armed timers in the provider
Sourcefn for_each_timer<F: FnMut(&Timer) -> Result>(&self, f: F)
fn for_each_timer<F: FnMut(&Timer) -> Result>(&self, f: F)
Iterates over each timer in the provider and calls the provided function
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.
Implementations on Foreign Types§
Source§impl<A: Provider, B: Provider> Provider for (A, B)
Implement Provider for a 2-element tuple to make it easy to do joins
impl<A: Provider, B: Provider> Provider for (A, B)
Implement Provider for a 2-element tuple to make it easy to do joins