[][src]Struct futures::future::Abortable

#[must_use = "futures do nothing unless polled"]
pub struct Abortable<Fut> { /* fields omitted */ }

A future which can be remotely short-circuited using an AbortHandle.

Methods

impl<Fut> Abortable<Fut> where
    Fut: Future
[src]

Creates a new Abortable future using an existing AbortRegistration. AbortRegistrations can be acquired through AbortHandle::new.

When abort is called on the handle tied to reg or if abort has already been called, the future will complete immediately without making any further progress.

Example:

use futures::future::{ready, Abortable, AbortHandle, Aborted};
use futures::executor::block_on;

let (abort_handle, abort_registration) = AbortHandle::new_pair();
let future = Abortable::new(ready(2), abort_registration);
abort_handle.abort();
assert_eq!(block_on(future), Err(Aborted));

Trait Implementations

impl<Fut> Future for Abortable<Fut> where
    Fut: Future
[src]

🔬 This is a nightly-only experimental API. (futures_api)

futures in libcore are unstable

The result of the Future.

🔬 This is a nightly-only experimental API. (futures_api)

futures in libcore are unstable

Attempt to resolve the future to a final value, registering the current task for wakeup if the value is not yet available. Read more

impl<Fut> Clone for Abortable<Fut> where
    Fut: Clone
[src]

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

impl<Fut> Debug for Abortable<Fut> where
    Fut: Debug
[src]

Formats the value using the given formatter. Read more

impl<Fut> Unpin for Abortable<Fut> where
    Fut: Unpin
[src]

Auto Trait Implementations

impl<Fut> Send for Abortable<Fut> where
    Fut: Send

impl<Fut> Sync for Abortable<Fut> where
    Fut: Sync

Blanket Implementations

impl<T> From for T
[src]

Performs the conversion.

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

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.

🔬 This is a nightly-only experimental API. (try_from)

Performs the conversion.

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

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.

🔬 This is a nightly-only experimental API. (try_from)

Performs the conversion.

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

Performs the conversion.

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

Important traits for &'a mut I

Immutably borrows from an owned value. Read more

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

Important traits for &'a mut I

Mutably borrows from an owned value. Read more

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

🔬 This is a nightly-only experimental API. (get_type_id)

this method will likely be replaced by an associated static

Gets the TypeId of self. Read more

impl<T> ToOwned for T where
    T: Clone
[src]

Creates owned data from borrowed data, usually by cloning. Read more

🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

Uses borrowed data to replace owned data, usually by cloning. Read more

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

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

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

Joins the result of two futures, waiting for them both to complete. Read more

Same as join, but with more futures. Read more

Same as join, but with more futures. Read more

Same as join, but with more futures. Read more

Convert this future into a single element stream. Read more

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

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

Fuse a future such that poll will never again be called once it has completed. Read more

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

Catches unwinding panics while polling the future. Read more

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

Wrap the future in a Box, pinning it.

Turns a Future into a TryFuture with Error = ().

Assigns the provided Spawn to be used when spawning tasks from within the future. Read more

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

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

The type of successful values yielded by this future

The type of failures yielded by this future

Poll this TryFuture as if it were a Future. Read more

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

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

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

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

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

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

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

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

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

Joins the result of two futures, waiting for them both to complete or for one to produce an error. Read more

Same as try_join, but with more futures. Read more

Same as try_join, but with more futures. Read more

Same as try_join, but with more futures. Read more