Struct muse_reactor::ReactorHandle
source · pub struct ReactorHandle<Work = NoWork> { /* private fields */ }Expand description
A handle to a spawned Reactor<Work>].
Implementations§
source§impl<Work> ReactorHandle<Work>where
Work: WorkUnit,
impl<Work> ReactorHandle<Work>where
Work: WorkUnit,
sourcepub fn runtime_module_in(
&self,
parent: Dynamic<Module>,
guard: &CollectionGuard<'_>,
) -> Rooted<Module>
pub fn runtime_module_in( &self, parent: Dynamic<Module>, guard: &CollectionGuard<'_>, ) -> Rooted<Module>
Returns a new module containing the reactor’s functionality.
This module needs to be declared within parent before it can be
accessed.
sourcepub fn spawn(&self, vm: Vm) -> Result<TaskHandle, ReactorShutdown>
pub fn spawn(&self, vm: Vm) -> Result<TaskHandle, ReactorShutdown>
Spawns vm in the reactor, returning a handle to the spawned task.
Builder::new_vm can be used to customize what functionality is
available in every virtual machine.
sourcepub fn spawn_source(
&self,
source: impl Into<String>,
) -> Result<TaskHandle, ReactorShutdown>
pub fn spawn_source( &self, source: impl Into<String>, ) -> Result<TaskHandle, ReactorShutdown>
Spawns a task that compiles and executes source.
Builder::new_vm can be used to customize how source is compiled
and what functionality is available in every virtual machine.
sourcepub fn spawn_call(
&self,
code: Code,
args: Vec<RootedValue>,
) -> Result<TaskHandle, ReactorShutdown>
pub fn spawn_call( &self, code: Code, args: Vec<RootedValue>, ) -> Result<TaskHandle, ReactorShutdown>
Spawns a task that executes code after loading args to the virtual
machine registers.
Builder::new_vm can be used to customize what functionality is
available in every virtual machine.
sourcepub fn spawn_work(&self, work: Work) -> Result<TaskHandle, ReactorShutdown>
pub fn spawn_work(&self, work: Work) -> Result<TaskHandle, ReactorShutdown>
Spawns a task that executes work.
This function allows a user-specified type to be spawned and converted
into a task using the WorkUnit trait.
Builder::new_vm can be used to customize the Work generic and what
functionality is available in every virtual machine.
sourcepub fn shutdown(&self) -> Result<(), Box<dyn Any + Send + 'static>>
pub fn shutdown(&self) -> Result<(), Box<dyn Any + Send + 'static>>
Shuts the reactor down.
Only the first call to this function will do anything. All subsequent
calls will return Ok(()) without blocking. The call that shuts the
reactor down will block the current thread until the reactor has shut
down or an error has occurred.
sourcepub fn create_budget_pool(
&self,
config: BudgetPoolConfig,
) -> Result<BudgetPoolHandle<Work>, ReactorShutdown>
pub fn create_budget_pool( &self, config: BudgetPoolConfig, ) -> Result<BudgetPoolHandle<Work>, ReactorShutdown>
Returns a new budget pool.
Trait Implementations§
source§impl<Work> Clone for ReactorHandle<Work>
impl<Work> Clone for ReactorHandle<Work>
source§impl<Work: Debug> Debug for ReactorHandle<Work>
impl<Work: Debug> Debug for ReactorHandle<Work>
impl<Work> ContainsNoRefs for ReactorHandle<Work>where
Work: WorkUnit,
Auto Trait Implementations§
impl<Work> Freeze for ReactorHandle<Work>
impl<Work = NoWork> !RefUnwindSafe for ReactorHandle<Work>
impl<Work> Send for ReactorHandle<Work>where
Work: Send,
impl<Work> Sync for ReactorHandle<Work>where
Work: Send,
impl<Work> Unpin for ReactorHandle<Work>
impl<Work = NoWork> !UnwindSafe for ReactorHandle<Work>
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
§impl<A> Cast for A
impl<A> Cast for A
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit)