[−][src]Trait gluon_vm::api::AsyncPushable
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<()>>
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.
Provided methods
fn async_status_push(
self,
context: &mut ActiveThread<'vm>,
frame_index: VmIndex
) -> Status where
Self: Sized,
self,
context: &mut ActiveThread<'vm>,
frame_index: VmIndex
) -> Status where
Self: Sized,
Implementors
impl<'vm, F> AsyncPushable<'vm> for FutureResult<F> where
F: Future<Error = Error> + Send + 'static,
F::Item: Pushable<'vm>,
[src]
F: Future<Error = Error> + Send + 'static,
F::Item: Pushable<'vm>,
fn async_push(
self,
context: &mut ActiveThread<'vm>,
frame_index: VmIndex
) -> Result<Async<()>>
[src]
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,
[src]
self,
context: &mut ActiveThread<'vm>,
frame_index: VmIndex
) -> Status where
Self: Sized,
impl<'vm, T> AsyncPushable<'vm> for T where
T: Pushable<'vm>,
[src]
T: Pushable<'vm>,
fn async_push(
self,
context: &mut ActiveThread<'vm>,
_: VmIndex
) -> Result<Async<()>>
[src]
self,
context: &mut ActiveThread<'vm>,
_: VmIndex
) -> Result<Async<()>>
fn async_status_push(
self,
context: &mut ActiveThread<'vm>,
frame_index: VmIndex
) -> Status where
Self: Sized,
[src]
self,
context: &mut ActiveThread<'vm>,
frame_index: VmIndex
) -> Status where
Self: Sized,