[][src]Struct fumio::timer::Delay

pub struct Delay { /* fields omitted */ }

A future that completes at a specified instant in time.

Instances of Delay perform no work and complete with () once the specified deadline has been reached.

Delay has a resolution of one millisecond and should not be used for tasks that require high-resolution timers.

Cancellation

Canceling a Delay is done by dropping the value. No additional cleanup or other work is required.

Methods

impl Delay[src]

Important traits for Delay
pub fn new(deadline: Instant) -> Delay[src]

Create a new Delay instance that elapses at deadline.

Only millisecond level resolution is guaranteed. There is no guarantee as to how the sub-millisecond portion of deadline will be handled. Delay should not be used for high-resolution timer use cases.

pub fn deadline(&self) -> Instant[src]

Returns the instant at which the future will complete.

pub fn is_elapsed(&self) -> bool[src]

Returns true if the Delay has elapsed

A Delay is elapsed when the requested duration has elapsed.

pub fn reset(&mut self, deadline: Instant)[src]

Reset the Delay instance to a new deadline.

Calling this function allows changing the instant at which the Delay future completes without having to create new associated state.

This function can be called both before and after the future has completed.

Trait Implementations

impl Future for Delay[src]

type Output = ()

The type of value produced on completion.

impl Debug for Delay[src]

Auto Trait Implementations

impl Send for Delay

impl Unpin for Delay

impl Sync for Delay

impl !UnwindSafe for Delay

impl !RefUnwindSafe for Delay

Blanket Implementations

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

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

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.

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

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

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

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

fn map<U, F>(self, f: F) -> Map<Self, F> where
    F: FnOnce(Self::Output) -> U, 
[src]

Map this future's output to a different type, returning a new future of the resulting type. Read more

fn then<Fut, F>(self, f: F) -> Then<Self, Fut, F> where
    F: FnOnce(Self::Output) -> Fut,
    Fut: Future
[src]

Chain on a computation for when a future finished, passing the result of the future to the provided closure f. Read more

fn left_future<B>(self) -> Either<Self, B> where
    B: Future<Output = Self::Output>, 
[src]

Wrap this future in an Either future, making it the left-hand variant of that Either. Read more

fn right_future<A>(self) -> Either<A, Self> where
    A: Future<Output = Self::Output>, 
[src]

Wrap this future in an Either future, making it the right-hand variant of that Either. Read more

fn into_stream(self) -> IntoStream<Self>[src]

Convert this future into a single element stream. Read more

fn flatten(self) -> Flatten<Self> where
    Self::Output: Future
[src]

Flatten the execution of this future when the successful result of this future is itself another future. Read more

fn flatten_stream(self) -> FlattenStream<Self> where
    Self::Output: Stream
[src]

Flatten the execution of this future when the successful result of this future is a stream. Read more

fn fuse(self) -> Fuse<Self>[src]

Fuse a future such that poll will never again be called once it has completed. This method can be used to turn any Future into a FusedFuture. Read more

fn inspect<F>(self, f: F) -> Inspect<Self, F> where
    F: FnOnce(&Self::Output), 
[src]

Do something with the output of a future before passing it on. Read more

fn catch_unwind(self) -> CatchUnwind<Self> where
    Self: UnwindSafe
[src]

Catches unwinding panics while polling the future. Read more

fn shared(self) -> Shared<Self> where
    Self::Output: Clone
[src]

Create a cloneable handle to this future where all handles will resolve to the same result. Read more

fn boxed<'a>(self) -> Pin<Box<dyn Future<Output = Self::Output> + 'a + Send>> where
    Self: Send + 'a, 
[src]

Wrap the future in a Box, pinning it. Read more

fn boxed_local<'a>(self) -> Pin<Box<dyn Future<Output = Self::Output> + 'a>> where
    Self: 'a, 
[src]

Wrap the future in a Box, pinning it. Read more

fn unit_error(self) -> UnitError<Self>[src]

Turns a Future<Output = T> into a TryFuture<Ok = T, Error = ()>. Read more

fn never_error(self) -> NeverError<Self>[src]

Turns a Future<Output = T> into a TryFuture<Ok = T, Error = Never>. Read more

fn poll_unpin(&mut self, cx: &mut Context) -> Poll<Self::Output> where
    Self: Unpin
[src]

A convenience for calling Future::poll on Unpin future types.

fn now_or_never(self) -> Option<Self::Output>[src]

Evaluates and consumes the future, returning the resulting output if the future is ready after the first call to Future::poll. Read more