JobHandle

Struct JobHandle 

Source
pub struct JobHandle<T> { /* private fields */ }
Expand description

Handle to the job, allowing to await for it to finish

It provides methods to block current thread to wait for job to finish. Alternatively the handle implements Future allowing it to be used in async context.

It is impossible to await this handle from multiple threads at the same time as it would require locking, hence Clone is not implemented even though under the hood it is shared pointer.

Implementations§

Source§

impl<T> JobHandle<T>

Source

pub fn is_finished(&self) -> bool

Checks if the associated job has finished running.

Source

pub fn try_wait(&self) -> Result<Option<T>, JoinError>

Attempts to check of job is ready

Source

pub fn wait(self) -> Result<T, JoinError>

Awaits for job to finish indefinitely.

Source

pub fn wait_timeout(&self, timeout: Duration) -> Result<Option<T>, JoinError>

Awaits for job to finish for limited time.

Trait Implementations§

Source§

impl<T> Debug for JobHandle<T>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<T> Future for JobHandle<T>

Source§

type Output = Result<T, JoinError>

The type of value produced on completion.
Source§

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

Attempts to resolve the future to a final value, registering the current task for wakeup if the value is not yet available. Read more

Auto Trait Implementations§

§

impl<T> Freeze for JobHandle<T>

§

impl<T> !RefUnwindSafe for JobHandle<T>

§

impl<T> Send for JobHandle<T>
where T: Send,

§

impl<T> !Sync for JobHandle<T>

§

impl<T> Unpin for JobHandle<T>

§

impl<T> !UnwindSafe for JobHandle<T>

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.