Struct glommio::timer::Timer [−][src]
pub struct Timer { /* fields omitted */ }
A timer that expires after a duration of time.
Timers are futures that output the Instant
at which they fired.
Note that because of that, Timers always block the current task queue
in which they currently execute.
In most situations you will want to use TimerActionOnce
Examples
Sleep for 100 milliseconds:
use glommio::{timer::Timer, LocalExecutor}; use std::time::Duration; async fn sleep(dur: Duration) { Timer::new(dur).await; } let ex = LocalExecutor::default(); ex.run(async { sleep(Duration::from_millis(100)).await; });
Implementations
impl Timer
[src]
impl Timer
[src]pub fn new(dur: Duration) -> Timerⓘ
[src]
Creates a timer that expires after the given duration of time.
Examples
use glommio::{timer::Timer, LocalExecutor}; use std::time::Duration; let ex = LocalExecutor::default(); ex.run(async move { Timer::new(Duration::from_millis(100)).await; });
pub fn reset(&mut self, dur: Duration)
[src]
Resets the timer to expire after the new duration of time.
Note that resetting a timer is different from creating a new timer
because reset()
does not remove the waker
associated with the task that is polling the timer.
Examples
use glommio::{timer::Timer, LocalExecutor}; use std::time::Duration; let ex = LocalExecutor::default(); ex.run(async move { let mut t = Timer::new(Duration::from_secs(1)); t.reset(Duration::from_millis(100)); t.await; });
Trait Implementations
Auto Trait Implementations
impl !RefUnwindSafe for Timer
impl !RefUnwindSafe for Timer
impl !UnwindSafe for Timer
impl !UnwindSafe for Timer
Blanket Implementations
impl<F> FutureExt for F where
F: Future + ?Sized,
[src]
impl<F> FutureExt for F where
F: Future + ?Sized,
[src]pub fn poll(&mut self, cx: &mut Context<'_>) -> Poll<Self::Output> where
Self: Unpin,
[src]
Self: Unpin,
pub fn or<F>(self, other: F) -> Or<Self, F> where
F: Future<Output = Self::Output>,
[src]
F: Future<Output = Self::Output>,
pub fn race<F>(self, other: F) -> Race<Self, F> where
F: Future<Output = Self::Output>,
[src]
F: Future<Output = Self::Output>,
pub fn catch_unwind(self) -> CatchUnwind<Self> where
Self: UnwindSafe,
[src]
Self: UnwindSafe,
pub fn boxed<'a>(
self
) -> Pin<Box<dyn Future<Output = Self::Output> + 'a + Send, Global>> where
Self: Send + 'a,
[src]
self
) -> Pin<Box<dyn Future<Output = Self::Output> + 'a + Send, Global>> where
Self: Send + 'a,
pub fn boxed_local<'a>(
self
) -> Pin<Box<dyn Future<Output = Self::Output> + 'a, Global>> where
Self: 'a,
[src]
self
) -> Pin<Box<dyn Future<Output = Self::Output> + 'a, Global>> where
Self: 'a,
impl<F> IntoFuture for F where
F: Future,
[src]
impl<F> IntoFuture for F where
F: Future,
[src]type Output = <F as Future>::Output
🔬 This is a nightly-only experimental API. (
into_future
)The output that the future will produce on completion.
type Future = F
🔬 This is a nightly-only experimental API. (
into_future
)Which kind of future are we turning this into?