Skip to main content

TokioTaskHandle

Struct TokioTaskHandle 

Source
pub struct TokioTaskHandle<R, E> { /* private fields */ }
Expand description

Async handle returned by Tokio-backed executor services.

Awaiting this handle reports the accepted task’s final result, including task failure, panic, or cancellation.

§Type Parameters

  • R - The task success value.
  • E - The task error value.

Implementations§

Source§

impl<R, E> TokioTaskHandle<R, E>

Source

pub fn cancel(&self) -> CancelResult

Sends a best-effort abort request to the underlying Tokio task.

CancelResult::Cancelled means this handle requested Tokio abort for a task that was not observed as finished at the instant of the check. Completion may still win the race with cancellation, so the final task outcome is always the value produced by awaiting this handle.

§Returns

CancelResult::Cancelled when an abort request was sent, or CancelResult::AlreadyFinished if the Tokio task had already completed.

Source

pub fn is_done(&self) -> bool

Returns whether the underlying Tokio task has finished.

§Returns

true if the Tokio task is complete.

Trait Implementations§

Source§

impl<R, E> Future for TokioTaskHandle<R, E>

Source§

fn poll( self: Pin<&mut TokioTaskHandle<R, E>>, cx: &mut Context<'_>, ) -> Poll<<TokioTaskHandle<R, E> as Future>::Output>

Polls the underlying Tokio task.

§Parameters
  • cx - Async task context used to register the current waker.
§Returns

Poll::Ready with the task result when the Tokio task completes, or Poll::Pending while it is still running. Tokio cancellation and panic join errors are converted to TaskExecutionError values.

Source§

type Output = Result<R, TaskExecutionError<E>>

The type of value produced on completion.

Auto Trait Implementations§

§

impl<R, E> Freeze for TokioTaskHandle<R, E>

§

impl<R, E> RefUnwindSafe for TokioTaskHandle<R, E>

§

impl<R, E> Send for TokioTaskHandle<R, E>
where R: Send, E: Send,

§

impl<R, E> Sync for TokioTaskHandle<R, E>
where R: Send, E: Send,

§

impl<R, E> Unpin for TokioTaskHandle<R, E>

§

impl<R, E> UnsafeUnpin for TokioTaskHandle<R, E>

§

impl<R, E> UnwindSafe for TokioTaskHandle<R, E>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> DropFlavorWrapper<T> for T

Source§

type Flavor = MayDrop

The DropFlavor that wraps T into Self
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, W> HasTypeWitness<W> for T
where W: MakeTypeWitness<Arg = T>, T: ?Sized,

Source§

const WITNESS: W = W::MAKE

A constant of the type witness
Source§

impl<T> Identity for T
where T: ?Sized,

Source§

const TYPE_EQ: TypeEq<T, <T as Identity>::Type> = TypeEq::NEW

Proof that Self is the same type as Self::Type, provides methods for casting between Self and Self::Type.
Source§

type Type = T

The same type as Self, used to emulate type equality bounds (T == U) with associated type equality constraints (T: Identity<Type = U>).
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<F> IntoFuture for F
where F: Future,

Source§

type Output = <F as Future>::Output

The output that the future will produce on completion.
Source§

type IntoFuture = F

Which kind of future are we turning this into?
Source§

fn into_future(self) -> <F as IntoFuture>::IntoFuture

Creates a future from a value. Read more
Source§

impl<T> IntoResult<T> for T

Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.