[][src]Struct futures_timer::Delay

pub struct Delay { /* fields omitted */ }

A future representing the notification that an elapsed duration has occurred.

This is created through the Delay::new or Delay::new_at methods indicating when the future should fire at. Note that these futures are not intended for high resolution timers, but rather they will likely fire some granularity after the exact instant that they're otherwise indicated to fire at.

Methods

impl Delay[src]

Important traits for Delay
pub fn new(dur: Duration) -> Delay[src]

Creates a new future which will fire at dur time into the future.

The returned object will be bound to the default timer for this thread. The default timer will be spun up in a helper thread on first use.

Important traits for Delay
pub fn new_at(at: Instant) -> Delay[src]

Creates a new future which will fire at the time specified by at.

The returned object will be bound to the default timer for this thread. The default timer will be spun up in a helper thread on first use.

Important traits for Delay
pub fn new_handle(at: Instant, handle: TimerHandle) -> Delay[src]

Creates a new future which will fire at the time specified by at.

The returned instance of Delay will be bound to the timer specified by the handle argument.

pub fn reset(&mut self, dur: Duration)[src]

Resets this timeout to an new timeout which will fire at the time specified by dur.

This is equivalent to calling reset_at with Instant::now() + dur

pub fn reset_at(&mut self, at: Instant)[src]

Resets this timeout to an new timeout which will fire at the time specified by at.

This method is usable even of this instance of Delay has "already fired". That is, if this future has resovled, calling this method means that the future will still re-resolve at the specified instant.

If at is in the past then this future will immediately be resolved (when poll is called).

Note that if any task is currently blocked on this future then that task will be dropped. It is required to call poll again after this method has been called to ensure tha ta task is blocked on this future.

Trait Implementations

impl Drop for Delay[src]

impl Debug for Delay[src]

impl Future for Delay[src]

type Output = Result<()>

The type of value produced on completion.

Auto Trait Implementations

impl Unpin for Delay

impl Sync for Delay

impl Send for Delay

impl !UnwindSafe for Delay

impl !RefUnwindSafe for Delay

Blanket Implementations

impl<F> TryFutureExt for F where
    F: TryFuture
[src]

Important traits for Timeout<F>
fn timeout(self, dur: Duration) -> Timeout<Self> where
    Self::Error: From<Error>, 
[src]

Creates a new future which will take at most dur time to resolve from the point at which this method is called. Read more

Important traits for Timeout<F>
fn timeout_at(self, at: Instant) -> Timeout<Self> where
    Self::Error: From<Error>, 
[src]

Creates a new future which will resolve no later than at specified. Read more

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 remote_handle(self) -> (Remote<Self>, RemoteHandle<Self::Output>)[src]

Turn this future into a future that yields () on completion and sends its output to another future on a separate task. 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.

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.

impl<Fut> TryFutureExt for Fut where
    Fut: TryFuture + ?Sized
[src]

fn flatten_sink<Item>(self) -> FlattenSink<Self, Self::Ok> where
    Self::Ok: Sink<Item>,
    <Self::Ok as Sink<Item>>::Error == Self::Error
[src]

Flattens the execution of this future when the successful result of this future is a [Sink]. Read more

fn map_ok<T, F>(self, f: F) -> MapOk<Self, F> where
    F: FnOnce(Self::Ok) -> T, 
[src]

Maps this future's success value to a different value. Read more

fn map_err<E, F>(self, f: F) -> MapErr<Self, F> where
    F: FnOnce(Self::Error) -> E, 
[src]

Maps this future's error value to a different value. Read more

fn err_into<E>(self) -> ErrInto<Self, E> where
    Self::Error: Into<E>, 
[src]

Maps this future's Error to a new error type using the Into trait. Read more

fn and_then<Fut, F>(self, f: F) -> AndThen<Self, Fut, F> where
    F: FnOnce(Self::Ok) -> Fut,
    Fut: TryFuture<Error = Self::Error>, 
[src]

Executes another future after this one resolves successfully. The success value is passed to a closure to create this subsequent future. Read more

fn or_else<Fut, F>(self, f: F) -> OrElse<Self, Fut, F> where
    F: FnOnce(Self::Error) -> Fut,
    Fut: TryFuture<Ok = Self::Ok>, 
[src]

Executes another future if this one resolves to an error. The error value is passed to a closure to create this subsequent future. Read more

fn inspect_ok<F>(self, f: F) -> InspectOk<Self, F> where
    F: FnOnce(&Self::Ok), 
[src]

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

fn inspect_err<F>(self, f: F) -> InspectErr<Self, F> where
    F: FnOnce(&Self::Error), 
[src]

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

fn try_flatten_stream(self) -> TryFlattenStream<Self> where
    Self::Ok: TryStream,
    <Self::Ok as TryStream>::Error == Self::Error
[src]

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

fn unwrap_or_else<F>(self, f: F) -> UnwrapOrElse<Self, F> where
    F: FnOnce(Self::Error) -> Self::Ok
[src]

Unwraps this future's ouput, producing a future with this future's Ok type as its Output type. Read more

fn into_future(self) -> IntoFuture<Self>[src]

Wraps a [TryFuture] into a type that implements Future. Read more

fn try_poll_unpin(
    &mut self,
    cx: &mut Context
) -> Poll<Result<Self::Ok, Self::Error>> where
    Self: Unpin
[src]

A convenience method for calling [TryFuture::try_poll] on [Unpin] future types. Read more

impl<F, T, E> TryFuture for F where
    F: Future<Output = Result<T, E>> + ?Sized
[src]

type Ok = T

The type of successful values yielded by this future

type Error = E

The type of failures yielded by this future