[][src]Trait gluon_vm::api::AsyncPushable

pub trait AsyncPushable<'vm> {
    fn async_push(
        self,
        context: &mut ActiveThread<'vm>,
        frame_index: VmIndex
    ) -> Result<Async<()>>; fn async_status_push(
        self,
        context: &mut ActiveThread<'vm>,
        frame_index: VmIndex
    ) -> Status
    where
        Self: Sized
, { ... } }

Trait which allows a possibly asynchronous rust value to be pushed to the virtual machine

Required methods

fn async_push(
    self,
    context: &mut ActiveThread<'vm>,
    frame_index: VmIndex
) -> Result<Async<()>>

Pushes self to stack. If the call is successful a single element should have been added to the stack and Ok(()) should be returned. If the call is unsuccessful Status:Error should be returned and the stack should be left intact.

If the value must be computed asynchronously Async::NotReady must be returned so that the virtual machine knows it must do more work before the value is available.

Loading content...

Provided methods

fn async_status_push(
    self,
    context: &mut ActiveThread<'vm>,
    frame_index: VmIndex
) -> Status where
    Self: Sized

Loading content...

Implementors

impl<'vm, F> AsyncPushable<'vm> for FutureResult<F> where
    F: Future<Error = Error> + Send + 'static,
    F::Item: Pushable<'vm>, 
[src]

fn async_status_push(
    self,
    context: &mut ActiveThread<'vm>,
    frame_index: VmIndex
) -> Status where
    Self: Sized
[src]

impl<'vm, T> AsyncPushable<'vm> for T where
    T: Pushable<'vm>, 
[src]

fn async_status_push(
    self,
    context: &mut ActiveThread<'vm>,
    frame_index: VmIndex
) -> Status where
    Self: Sized
[src]

Loading content...