Skip to main content

LocalExecutionEngine

Struct LocalExecutionEngine 

Source
pub struct LocalExecutionEngine { /* private fields */ }

Implementations§

Source§

impl LocalExecutionEngine

Source

pub fn new( inner: Rc<ExecutorState>, activities: Option<Sender<ThreadActivity>>, ) -> Self

Trait Implementations§

Source§

impl Clone for LocalExecutionEngine

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<'a> ExecutionEngine for Box<&'a LocalExecutionEngine>

Source§

fn lift( &self, task: BoxedExecutionIterator, parent: Option<Entry>, ) -> AnyResult<SpawnInfo, ExecutorError>

lift prioritizes an incoming task to the top of the local execution queue which pauses all processing task till that point till the new task is done or goes to sleep (dependent on the internals of the ExecutionEngine). Read more
Source§

fn sequenced( &self, task: BoxedExecutionIterator, parent: Entry, ) -> AnyResult<SpawnInfo, ExecutorError>

sequenced prioritizes an incoming task to the top of the local execution queue as a sequential operation that links both this task and parent into a execution loop where one execution of the task must lead to the execution of the parent as well. Read more
Source§

fn schedule( &self, task: BoxedExecutionIterator, ) -> AnyResult<SpawnInfo, ExecutorError>

schedule adds provided incoming task to the bottom of the local execution queue which pauses all processing task till that point till the new task is done or goes to sleep (dependent on the internals of the ExecutionEngine).
Source§

fn broadcast(&self, task: GlobalTask) -> AnyResult<SpawnInfo, ExecutorError>

broadcast allows you to deliver a task to the global execution queue which then lets the giving task to be sent of to the same or another executor in another thread for processing, which requires the type to be Send safe.
Source§

fn shared_queue(&self) -> SharedTaskQueue

shared_queue returns access to the global queue.
Source§

fn boxed_engine(&self) -> BoxedExecutionEngine

boxed_engine returns a instance of the engine as a BoxedExecutionEngine.
Source§

fn rng(&self) -> Rc<RefCell<ChaCha8Rng>>

rng returns a shared thread-safe ChaCha8Rng random generation managed by the executor.
Source§

fn broadcast_or_lift( &self, task: GlobalTask, parent: Option<Entry>, ) -> AnyResult<SpawnInfo, ExecutorError>

broadcast_or_lift dispatches a task based on the execution mode: Read more
Source§

fn broadcast_or_sequence( &self, task: GlobalTask, parent: Entry, ) -> AnyResult<SpawnInfo, ExecutorError>

broadcast_or_sequence dispatches a task based on the execution mode: Read more
Source§

impl ExecutionEngine for Box<LocalExecutionEngine>

Source§

fn sequenced( &self, task: BoxedExecutionIterator, parent: Entry, ) -> AnyResult<SpawnInfo, ExecutorError>

sequenced prioritizes an incoming task to the top of the local execution queue as a sequential operation that links both this task and parent into a execution loop where one execution of the task must lead to the execution of the parent as well. Read more
Source§

fn lift( &self, task: BoxedExecutionIterator, parent: Option<Entry>, ) -> AnyResult<SpawnInfo, ExecutorError>

lift prioritizes an incoming task to the top of the local execution queue which pauses all processing task till that point till the new task is done or goes to sleep (dependent on the internals of the ExecutionEngine). Read more
Source§

fn schedule( &self, task: BoxedExecutionIterator, ) -> AnyResult<SpawnInfo, ExecutorError>

schedule adds provided incoming task to the bottom of the local execution queue which pauses all processing task till that point till the new task is done or goes to sleep (dependent on the internals of the ExecutionEngine).
Source§

fn broadcast(&self, task: GlobalTask) -> AnyResult<SpawnInfo, ExecutorError>

broadcast allows you to deliver a task to the global execution queue which then lets the giving task to be sent of to the same or another executor in another thread for processing, which requires the type to be Send safe.
Source§

fn shared_queue(&self) -> SharedTaskQueue

shared_queue returns access to the global queue.
Source§

fn boxed_engine(&self) -> BoxedExecutionEngine

boxed_engine returns a instance of the engine as a BoxedExecutionEngine.
Source§

fn rng(&self) -> Rc<RefCell<ChaCha8Rng>>

rng returns a shared thread-safe ChaCha8Rng random generation managed by the executor.
Source§

fn broadcast_or_lift( &self, task: GlobalTask, parent: Option<Entry>, ) -> AnyResult<SpawnInfo, ExecutorError>

broadcast_or_lift dispatches a task based on the execution mode: Read more
Source§

fn broadcast_or_sequence( &self, task: GlobalTask, parent: Entry, ) -> AnyResult<SpawnInfo, ExecutorError>

broadcast_or_sequence dispatches a task based on the execution mode: Read more
Source§

impl ExecutionEngine for LocalExecutionEngine

Source§

fn shared_queue(&self) -> SharedTaskQueue

shared_queue returns access to the global queue.

Source§

fn rng(&self) -> Rc<RefCell<ChaCha8Rng>>

rng returns the local executor random number generator.

Source§

fn sequenced( &self, task: BoxedExecutionIterator, parent: Entry, ) -> AnyResult<SpawnInfo, ExecutorError>

sequenced prioritizes an incoming task to the top of the local execution queue as a sequential operation that links both this task and parent into a execution loop where one execution of the task must lead to the execution of the parent as well. Read more
Source§

fn lift( &self, task: BoxedExecutionIterator, parent: Option<Entry>, ) -> AnyResult<SpawnInfo, ExecutorError>

lift prioritizes an incoming task to the top of the local execution queue which pauses all processing task till that point till the new task is done or goes to sleep (dependent on the internals of the ExecutionEngine). Read more
Source§

fn schedule( &self, task: BoxedExecutionIterator, ) -> AnyResult<SpawnInfo, ExecutorError>

schedule adds provided incoming task to the bottom of the local execution queue which pauses all processing task till that point till the new task is done or goes to sleep (dependent on the internals of the ExecutionEngine).
Source§

fn broadcast(&self, task: GlobalTask) -> AnyResult<SpawnInfo, ExecutorError>

broadcast allows you to deliver a task to the global execution queue which then lets the giving task to be sent of to the same or another executor in another thread for processing, which requires the type to be Send safe.
Source§

fn boxed_engine(&self) -> BoxedExecutionEngine

boxed_engine returns a instance of the engine as a BoxedExecutionEngine.
Source§

fn broadcast_or_lift( &self, task: GlobalTask, parent: Option<Entry>, ) -> AnyResult<SpawnInfo, ExecutorError>

broadcast_or_lift dispatches a task based on the execution mode: Read more
Source§

fn broadcast_or_sequence( &self, task: GlobalTask, parent: Entry, ) -> AnyResult<SpawnInfo, ExecutorError>

broadcast_or_sequence dispatches a task based on the execution mode: 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<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

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> Instrument for T

Source§

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

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

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> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

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

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

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

fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ

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