Skip to main content

DispatcherTask

Struct DispatcherTask 

Source
pub struct DispatcherTask<T = ()> { /* private fields */ }
Expand description

The outcome of a future running on a Dispatcher; what the reference implementation returns as a task object.

The handle can be cloned and sent to other threads. It is a Future that resolves to Ok(result) when the future has completed and to Err(OperationCanceledError) when it was dropped before completing (the dispatcher shut down, or the operation that was going to start it was aborted). A panic raised by the future is re-raised to whoever observes the outcome.

Implementations§

Source§

impl<T: 'static> DispatcherTask<T>

Source

pub fn dispatcher(&self) -> &Arc<Dispatcher> ⓘ

The dispatcher the future runs on.

Source

pub fn is_completed(&self) -> bool

Whether the task has finished: completed, failed or canceled.

Source

pub fn is_completed_successfully(&self) -> bool

Whether the task ran to the end without panicking.

Source

pub fn is_faulted(&self) -> bool

Whether the future panicked.

Source

pub fn is_canceled(&self) -> bool

Whether the future was dropped before it completed.

Source

pub fn wait(&self) -> Result<(), OperationCanceledError>

Blocks until the task has finished. Only supported on threads other than the dispatcher thread, unless the task has already finished.

§Panics

Re-raises the panic of the future. Panics when the task is still running and the calling thread is the dispatcher thread.

Source

pub fn result(&self) -> Result<T, OperationCanceledError>

Blocks like wait and takes the result.

§Panics

See wait. Also panics when the result has already been taken, and when a result that is not Send is requested from another thread.

Trait Implementations§

Source§

impl<T> Clone for DispatcherTask<T>

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl<T> Debug for DispatcherTask<T>

Source§

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

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

impl<T: 'static> Future for DispatcherTask<T>

Source§

type Output = Result<T, OperationCanceledError>

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 DispatcherTask<T>
where PhantomData<fn() -> T>: Freeze,

§

impl<T> RefUnwindSafe for DispatcherTask<T>
where PhantomData<fn() -> T>: RefUnwindSafe,

§

impl<T> Send for DispatcherTask<T>
where PhantomData<fn() -> T>: Send,

§

impl<T> Sync for DispatcherTask<T>
where PhantomData<fn() -> T>: Sync,

§

impl<T> Unpin for DispatcherTask<T>
where PhantomData<fn() -> T>: Unpin,

§

impl<T> UnsafeUnpin for DispatcherTask<T>
where PhantomData<fn() -> T>: UnsafeUnpin,

§

impl<T> UnwindSafe for DispatcherTask<T>
where PhantomData<fn() -> T>: UnwindSafe,

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> ClassDefaults for T
where T: ?Sized,

Source§

fn static_constructor()

The static constructor of a type: work done once per thread, after the properties of the type are registered and before its first instance exists (class handlers, affects_render, metadata overrides). Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. 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> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

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

Source§

type Error = !

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

fn try_from(value: U) -> Result<T, !>

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.