[][src]Struct async_executors::JoinHandle

#[must_use = "JoinHandle will cancel your future when dropped."]
pub struct JoinHandle<T> { /* fields omitted */ }
This is supported on feature="spawn_handle" only.

A framework agnostic JoinHandle type. Cancels the future on dropping the handle. You can call detach to leave the future running when dropping the handle.

This leverages the performance gains from the native join handles compared to RemoteHandle where possible.

It does wrap futures in Abortable where needed as tokio and async-std don't support canceling out of the box.

There is an inconsistency between executors when it comes to a panicking task. Generally we unwind the thread on which the handle is awaited when a task panics, but async-std will also let the executor thread unwind. No catch_unwind was added to bring async-std in line with the other executors here.

Methods

impl<T> JoinHandle<T>[src]

pub fn detach(self)[src]

Drops this handle without canceling the underlying future.

This method can be used if you want to drop the handle, but let the execution continue.

Trait Implementations

impl<T: Debug> Debug for JoinHandle<T>[src]

impl<T> Drop for JoinHandle<T>[src]

impl<T: 'static> Future for JoinHandle<T>[src]

type Output = T

The type of value produced on completion.

impl<T> Unpin for JoinHandle<T>[src]

Auto Trait Implementations

impl<T> !RefUnwindSafe for JoinHandle<T>

impl<T> Send for JoinHandle<T> where
    T: Send

impl<T> Sync for JoinHandle<T> where
    T: Send

impl<T> !UnwindSafe for JoinHandle<T>

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<T> FutureExt for T where
    T: Future + ?Sized
[src]

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

impl<T> Instrument 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<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

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

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> WithSubscriber for T[src]