Trait pendulum::Pendulum
[−]
[src]
pub trait Pendulum<T> { fn insert_timeout(
&mut self,
timeout: Duration,
item: T
) -> PendulumResult<Token, T>; fn remove_timeout(&mut self, token: Token) -> Option<T>; fn expired_timeout(&mut self) -> Option<T>; fn tick(&mut self); fn tick_duration(&self) -> Duration; fn max_capacity(&self) -> usize; fn max_timeout(&self) -> Duration; }
Trait for working with generic timer wheel implementations.
Required Methods
fn insert_timeout(
&mut self,
timeout: Duration,
item: T
) -> PendulumResult<Token, T>
&mut self,
timeout: Duration,
item: T
) -> PendulumResult<Token, T>
Insert a timeout with the given duration and the given item into the Pendulum
.
fn remove_timeout(&mut self, token: Token) -> Option<T>
Removes the timeout corresponding with the given Token
, if one exists.
fn expired_timeout(&mut self) -> Option<T>
Retrieve the next expired timeout from the Pendulum
.
This is a non-blocking operation.
fn tick(&mut self)
Tick the Pendulum
once.
fn tick_duration(&self) -> Duration
Configured tick duration for this Pendulum
.
fn max_capacity(&self) -> usize
Configured max timeout capacity for this Pendulum
.
fn max_timeout(&self) -> Duration
Configured maximum timeout for this Pendulum
.
Implementors
impl<T> Pendulum<T> for HashedWheel<T>