[][src]Struct glommio::timer::Timer

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::LocalExecutor;
use glommio::timer::Timer;
use std::time::Duration;

async fn sleep(dur: Duration) {
    Timer::new(dur).await;
}

let ex = LocalExecutor::make_default();

ex.run(async {
    sleep(Duration::from_millis(100)).await;
});

Implementations

impl Timer[src]

pub fn new(dur: Duration) -> Timer

Notable traits for Timer

impl Future for Timer type Output = Instant;
[src]

Creates a timer that expires after the given duration of time.

Examples

use glommio::timer::Timer;
use std::time::Duration;

Timer::new(Duration::from_millis(100));

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;
use std::time::Duration;

let mut t = Timer::new(Duration::from_secs(1));
t.reset(Duration::from_millis(100));

Trait Implementations

impl Debug for Timer[src]

impl Drop for Timer[src]

impl Future for Timer[src]

type Output = Instant

The type of value produced on completion.

Auto Trait Implementations

impl !RefUnwindSafe for Timer

impl !Send for Timer

impl !Sync for Timer

impl Unpin for Timer

impl !UnwindSafe for Timer

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<F> FutureExt for F where
    F: Future + ?Sized
[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[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?

impl<T> Same<T> for T[src]

type Output = T

Should always be Self

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.