Skip to main content

TokioExecution

Struct TokioExecution 

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

Future-backed execution returned by TokioExecutor.

This struct implements Future: Output is Result<R, E> — the success value R or the callable’s error E. Await this type (on a Tokio-driven async context) to receive that result; until then the underlying blocking task may still be running.

Tokio join errors are not part of that Result: task panics are resumed and cancellations panic when the future is awaited.

§Type Parameters

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

Implementations§

Source§

impl<R, E> TokioExecution<R, E>

Source

pub fn is_finished(&self) -> bool

Returns whether the Tokio task has finished.

§Returns

true if the underlying Tokio task has completed.

Source

pub fn cancel(&self) -> bool

Requests cancellation of the underlying Tokio task.

Tokio can cancel a blocking task only before it starts. If the blocking closure is already running, this request is best-effort and awaiting the execution will still wait for the closure to finish.

§Returns

true after the cancellation request has been sent to Tokio.

Trait Implementations§

Source§

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

Source§

fn poll(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<Self::Output>

Polls the underlying Tokio task.

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

Poll::Ready with the callable result when the Tokio task completes, or Poll::Pending while the task is still running.

§Panics

Panics if Tokio reports the blocking task was cancelled. If the task panicked, this method resumes the original panic payload.

Source§

type Output = Result<R, E>

The type of value produced on completion.

Auto Trait Implementations§

§

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

§

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

§

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

§

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

§

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

§

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

§

impl<R, E> UnwindSafe for TokioExecution<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> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

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<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, 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.