[][src]Struct futures_util::future::Shared

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

A future that is cloneable and can be polled in multiple threads. Use Future::shared() method to convert any future into a Shared future.

Methods

impl<Fut> Shared<Fut> where
    Fut: Future,
    Fut::Output: Clone
[src]

If any clone of this Shared has completed execution, returns its result immediately without blocking. Otherwise, returns None without triggering the work represented by this Shared.

Trait Implementations

impl<Fut: Future> Unpin for Shared<Fut>
[src]

impl<Fut: Future> Debug for Shared<Fut>
[src]

Formats the value using the given formatter. Read more

impl<Fut: Future> Future for Shared<Fut> where
    Fut::Output: Clone
[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 Shared<Fut> where
    Fut: Future
[src]

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

impl<Fut> Drop for Shared<Fut> where
    Fut: Future
[src]

Executes the destructor for this type. Read more

Auto Trait Implementations

impl<Fut> Send for Shared<Fut> where
    Fut: Send,
    <Fut as Future>::Output: Send + Sync

impl<Fut> Sync for Shared<Fut> where
    Fut: Send,
    <Fut as Future>::Output: Send + Sync

Blanket Implementations

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<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 future compatable with libraries using futures 0.1 future definitons. Requires the compat feature to enable. 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

impl<T> From for T
[src]

Performs the conversion.

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

Performs the conversion.

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, 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> Borrow for T where
    T: ?Sized
[src]

Important traits for &'a mut R

Immutably 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, 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> BorrowMut for T where
    T: ?Sized
[src]

Important traits for &'a mut R

Mutably borrows from an owned value. Read more

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