pub struct LocalExecutionEngine { /* private fields */ }Implementations§
Source§impl LocalExecutionEngine
impl LocalExecutionEngine
pub fn new( inner: Rc<ExecutorState>, activities: Option<Sender<ThreadActivity>>, ) -> Self
Trait Implementations§
Source§impl Clone for LocalExecutionEngine
impl Clone for LocalExecutionEngine
Source§impl<'a> ExecutionEngine for Box<&'a LocalExecutionEngine>
impl<'a> ExecutionEngine for Box<&'a LocalExecutionEngine>
Source§fn lift(
&self,
task: BoxedExecutionIterator,
parent: Option<Entry>,
) -> AnyResult<SpawnInfo, ExecutorError>
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 moreSource§fn sequenced(
&self,
task: BoxedExecutionIterator,
parent: Entry,
) -> AnyResult<SpawnInfo, ExecutorError>
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 moreSource§fn schedule(
&self,
task: BoxedExecutionIterator,
) -> AnyResult<SpawnInfo, ExecutorError>
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>
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.shared_queue returns access to the global queue.Source§fn boxed_engine(&self) -> BoxedExecutionEngine
fn boxed_engine(&self) -> BoxedExecutionEngine
boxed_engine returns a instance of the engine as a BoxedExecutionEngine.Source§fn rng(&self) -> Rc<RefCell<ChaCha8Rng>>
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>
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 moreSource§fn broadcast_or_sequence(
&self,
task: GlobalTask,
parent: Entry,
) -> AnyResult<SpawnInfo, ExecutorError>
fn broadcast_or_sequence( &self, task: GlobalTask, parent: Entry, ) -> AnyResult<SpawnInfo, ExecutorError>
broadcast_or_sequence dispatches a task based on the execution mode: Read moreSource§impl ExecutionEngine for Box<LocalExecutionEngine>
impl ExecutionEngine for Box<LocalExecutionEngine>
Source§fn sequenced(
&self,
task: BoxedExecutionIterator,
parent: Entry,
) -> AnyResult<SpawnInfo, ExecutorError>
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 moreSource§fn lift(
&self,
task: BoxedExecutionIterator,
parent: Option<Entry>,
) -> AnyResult<SpawnInfo, ExecutorError>
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 moreSource§fn schedule(
&self,
task: BoxedExecutionIterator,
) -> AnyResult<SpawnInfo, ExecutorError>
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>
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.shared_queue returns access to the global queue.Source§fn boxed_engine(&self) -> BoxedExecutionEngine
fn boxed_engine(&self) -> BoxedExecutionEngine
boxed_engine returns a instance of the engine as a BoxedExecutionEngine.Source§fn rng(&self) -> Rc<RefCell<ChaCha8Rng>>
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>
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 moreSource§fn broadcast_or_sequence(
&self,
task: GlobalTask,
parent: Entry,
) -> AnyResult<SpawnInfo, ExecutorError>
fn broadcast_or_sequence( &self, task: GlobalTask, parent: Entry, ) -> AnyResult<SpawnInfo, ExecutorError>
broadcast_or_sequence dispatches a task based on the execution mode: Read moreSource§impl ExecutionEngine for LocalExecutionEngine
impl ExecutionEngine for LocalExecutionEngine
shared_queue returns access to the global queue.
Source§fn rng(&self) -> Rc<RefCell<ChaCha8Rng>>
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>
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 moreSource§fn lift(
&self,
task: BoxedExecutionIterator,
parent: Option<Entry>,
) -> AnyResult<SpawnInfo, ExecutorError>
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 moreSource§fn schedule(
&self,
task: BoxedExecutionIterator,
) -> AnyResult<SpawnInfo, ExecutorError>
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>
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
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>
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 moreSource§fn broadcast_or_sequence(
&self,
task: GlobalTask,
parent: Entry,
) -> AnyResult<SpawnInfo, ExecutorError>
fn broadcast_or_sequence( &self, task: GlobalTask, parent: Entry, ) -> AnyResult<SpawnInfo, ExecutorError>
broadcast_or_sequence dispatches a task based on the execution mode: Read moreAuto Trait Implementations§
impl !RefUnwindSafe for LocalExecutionEngine
impl !Send for LocalExecutionEngine
impl !Sync for LocalExecutionEngine
impl !UnwindSafe for LocalExecutionEngine
impl Freeze for LocalExecutionEngine
impl Unpin for LocalExecutionEngine
impl UnsafeUnpin for LocalExecutionEngine
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more