[−][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>,
lock: Lock,
frame_index: VmIndex
) -> Poll<Result<()>>
self,
context: &mut ActiveThread<'vm>,
lock: Lock,
frame_index: VmIndex
) -> Poll<Result<()>>
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 Poll::Pending
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>,
lock: Lock,
frame_index: VmIndex
) -> Status where
Self: Sized,
self,
context: &mut ActiveThread<'vm>,
lock: Lock,
frame_index: VmIndex
) -> Status where
Self: Sized,
Implementors
impl<'vm, F> AsyncPushable<'vm> for FutureResult<F> where
F: Future + Send + 'vm,
F::Output: Pushable<'vm>,
[src]
F: Future + Send + 'vm,
F::Output: Pushable<'vm>,
fn async_push(
self,
context: &mut ActiveThread<'vm>,
lock: Lock,
frame_index: VmIndex
) -> Poll<Result<()>>
[src]
self,
context: &mut ActiveThread<'vm>,
lock: Lock,
frame_index: VmIndex
) -> Poll<Result<()>>
impl<'vm, T> AsyncPushable<'vm> for T where
T: Pushable<'vm>,
[src]
T: Pushable<'vm>,
fn async_push(
self,
context: &mut ActiveThread<'vm>,
lock: Lock,
_: VmIndex
) -> Poll<Result<()>>
[src]
self,
context: &mut ActiveThread<'vm>,
lock: Lock,
_: VmIndex
) -> Poll<Result<()>>