Skip to main content

RayonTaskHandle

Struct RayonTaskHandle 

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

Handle returned by crate::RayonExecutorService for accepted tasks.

This handle supports blocking Self::get, asynchronous .await, and best-effort cancellation before a Rayon worker starts the task.

Implementations§

Source§

impl<R, E> RayonTaskHandle<R, E>

Source

pub fn get(self) -> TaskResult<R, E>

Waits for the task to finish and returns its final result.

§Returns

The final task result reported through the underlying TaskHandle.

Source

pub fn cancel(&self) -> bool

Attempts to cancel the task before any Rayon worker starts it.

§Returns

true if the task was cancelled before start, or false if it had already started or completed.

Source

pub fn is_done(&self) -> bool

Returns whether the task has reported completion.

§Returns

true after the task has finished or has been cancelled.

Trait Implementations§

Source§

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

Source§

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

Polls the accepted Rayon task for completion.

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

Poll::Ready with the task result after completion, or Poll::Pending while the task is still running or queued.

Source§

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

The type of value produced on completion.

Auto Trait Implementations§

§

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

§

impl<R, E> !RefUnwindSafe for RayonTaskHandle<R, E>

§

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

§

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

§

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

§

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

§

impl<R, E> !UnwindSafe for RayonTaskHandle<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<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> 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.