[][src]Struct runestick::VmSendExecution

pub struct VmSendExecution(_);

A wrapper that makes VmExecution Send.

This is accomplished by preventing any Value from escaping the Vm. As long as this is maintained, it is safe to send the execution across, threads, and therefore schedule the future associated with the execution on a thread pool like Tokio's through tokio::spawn.

Implementations

impl VmSendExecution[src]

pub fn async_complete(
    mut self: Self
) -> impl Future<Output = Result<Value, VmError>> + Send + 'static
[src]

Complete the current execution with support for async instructions.

This requires that the result of the Vm is converted into a crate::FromValue that also implements Send, which prevents non-Send values from escaping from the virtual machine.

Trait Implementations

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.