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

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

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

Required Methods

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.

Provided Methods


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

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