AnyLocalExecutor

Struct AnyLocalExecutor 

Source
pub struct AnyLocalExecutor(/* private fields */);
Expand description

A type-erased LocalExecutor that can hold any local executor implementation.

This allows for runtime selection of executors and storing different executor types in the same collection.

Implementations§

Source§

impl AnyLocalExecutor

Source

pub fn new(executor: impl LocalExecutor + 'static) -> Self

Create a new AnyLocalExecutor wrapping the given local executor.

Source

pub fn downcast_ref<E: LocalExecutor + 'static>(&self) -> Option<&E>

Attempt to downcast to a concrete local executor type by reference.

Returns Some(&E) if the underlying executor is of type E, None otherwise.

Source

pub fn downcast<E: LocalExecutor + 'static>(self) -> Result<Box<E>, Self>

Attempt to downcast to a concrete local executor type by value.

Returns Ok(Box<E>) if the underlying executor is of type E, Err(Self) otherwise (returning the original AnyLocalExecutor).

Trait Implementations§

Source§

impl Debug for AnyLocalExecutor

Source§

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

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

impl LocalExecutor for AnyLocalExecutor

Source§

type Task<T: 'static> = AnyLocalExecutorTask<T>

The task type returned by spawn. Read more
Source§

fn spawn_local<Fut>(&self, fut: Fut) -> Self::Task<Fut::Output>
where Fut: Future + 'static,

Spawn a future that will run to completion on the local executor. 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
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, 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.