Struct muse_reactor::TaskHandle

source ·
pub struct TaskHandle { /* private fields */ }
Expand description

A handle to a task spawned in a reactor.

Implementations§

source§

impl TaskHandle

source

pub fn join(&self) -> Result<RootedValue, TaskError>

Blocks the current thread until the task is finished.

This function is not safe to execute from async code. TaskHandle implements Future and can be awaited.

source

pub fn try_join(&self) -> Option<Result<RootedValue, TaskError>>

Checks if the task has executed, returning the result if it has.

This function returns None if the task is pending execution or still executing.

This function is safe to call from both async and non-async code.

source

pub fn join_until( &self, deadline: Instant, ) -> Option<Result<RootedValue, TaskError>>

Blocks the current thread until the task is finished or deadline has passed.

This function is not safe to execute from async code. TaskHandle implements Future and can be awaited, and the future can be cancelled using the async runtime’s timeout functionality.

source

pub fn join_for( &self, duration: Duration, ) -> Option<Result<RootedValue, TaskError>>

Blocks the current thread until the task is finished or duration has elapsed.

This function is not safe to execute from async code. TaskHandle implements Future and can be awaited, and the future can be cancelled using the async runtime’s timeout functionality.

source

pub fn cancel(&self)

Cancels the task if it is still running.

Joining the task will return TaskError::Cancelled if the task was successfully cancelled.

Trait Implementations§

source§

impl CustomType for TaskHandle

source§

fn muse_type(&self) -> &TypeRef

Returns the Muse type for this Rust type.
source§

impl Debug for TaskHandle

source§

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

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

impl Future for &TaskHandle

§

type Output = Result<RootedValue, TaskError>

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
source§

impl Trace for TaskHandle

source§

const MAY_CONTAIN_REFERENCES: bool = false

If true, this type may contain references and should have its trace() function invoked during the collector’s “mark” phase.
source§

fn trace(&self, tracer: &mut Tracer<'_>)

Traces all refrences that this value references. Read more

Auto Trait Implementations§

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
§

impl<A> Cast for A

§

fn cast<To>(self) -> To
where To: CastFrom<A>,

Casts self to the To type. This may be a lossy operation.
§

impl<A> CastFrom<A> for A

§

fn from_cast(from: A) -> A

Returns from as Self.
§

impl<A, B> CastInto<A> for B
where A: CastFrom<B>,

§

fn cast_into(self) -> A

Returns self as To.
§

impl<T> DynamicValue for T
where T: CustomType,

§

fn as_any(&self) -> &(dyn Any + 'static)

Returns self as an Any.
§

fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)

Returns self as a mut Any.
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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, U> TryFrom<U> for T
where U: Into<T>,

§

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

§

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

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more