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,

source

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.

source

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.

source

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.

source

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.

source

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.

source

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.

source

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>

source§

fn clone(&self) -> Self

Returns a copy of the value. Read more
1.0.0 · source§

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

Performs copy-assignment from source. Read more
source§

impl<Work: Debug> Debug for ReactorHandle<Work>

source§

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

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

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

impl<A> Cast for A

§

fn cast<To>(self) -> To
where To: CastFrom<A>,

Casts self to the To type. This may be a lossy operation.
§

impl<A> CastFrom<A> for A

§

fn from_cast(from: A) -> A

Returns from as Self.
§

impl<A, B> CastInto<A> for B
where A: CastFrom<B>,

§

fn cast_into(self) -> A

Returns self as To.
source§

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

source§

default unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

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

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

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> ToOwned for T
where T: Clone,

§

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
§

impl<T> Trace for T
where T: ContainsNoRefs,

§

const MAY_CONTAIN_REFERENCES: bool = false

If true, this type may contain references and should have its trace() function invoked during the collector’s “mark” phase.
§

fn trace(&self, _tracer: &mut Tracer<'_>)

Traces all refrences that this value references. Read more
source§

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

§

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>,

§

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

impl<T> WithSubscriber for T

§

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
§

fn with_current_subscriber(self) -> WithDispatch<Self>

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