Trait gluon_vm::api::AsyncPushable
source · 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,
{ ... }
}
Expand description
Trait which allows a possibly asynchronous rust value to be pushed to the virtual machine
Required Methods
sourcefn async_push(
self,
context: &mut ActiveThread<'vm>,
frame_index: VmIndex
) -> Result<Async<()>>
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.