Struct wasmi::FuncInvocation
source · pub struct FuncInvocation<'args> { /* private fields */ }
Expand description
A resumable invocation handle. This struct is returned by FuncInstance::invoke_resumable
.
Implementations§
source§impl<'args> FuncInvocation<'args>
impl<'args> FuncInvocation<'args>
sourcepub fn is_resumable(&self) -> bool
pub fn is_resumable(&self) -> bool
Whether this invocation is currently resumable.
sourcepub fn resumable_value_type(&self) -> Option<ValueType>
pub fn resumable_value_type(&self) -> Option<ValueType>
If the invocation is resumable, the expected return value type to be feed back in.
sourcepub fn start_execution<'externals, E: Externals + 'externals>(
&mut self,
externals: &'externals mut E
) -> Result<Option<RuntimeValue>, ResumableError>
pub fn start_execution<'externals, E: Externals + 'externals>( &mut self, externals: &'externals mut E ) -> Result<Option<RuntimeValue>, ResumableError>
Start the invocation execution.
sourcepub fn resume_execution<'externals, E: Externals + 'externals>(
&mut self,
return_val: Option<RuntimeValue>,
externals: &'externals mut E
) -> Result<Option<RuntimeValue>, ResumableError>
pub fn resume_execution<'externals, E: Externals + 'externals>( &mut self, return_val: Option<RuntimeValue>, externals: &'externals mut E ) -> Result<Option<RuntimeValue>, ResumableError>
Resume an execution if a previous trap of Host kind happened.
return_val
must be of the value type resumable_value_type
, defined by the host function import. Otherwise,
UnexpectedSignature
trap will be returned. The current invocation must also be resumable
is_resumable
. Otherwise, a NotResumable
error will be returned.
Auto Trait Implementations§
impl<'args> !RefUnwindSafe for FuncInvocation<'args>
impl<'args> !Send for FuncInvocation<'args>
impl<'args> !Sync for FuncInvocation<'args>
impl<'args> Unpin for FuncInvocation<'args>
impl<'args> !UnwindSafe for FuncInvocation<'args>
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere T: Any,
source§fn into_any(self: Box<T, Global>) -> Box<dyn Any, Global>
fn into_any(self: Box<T, Global>) -> Box<dyn Any, Global>
Convert
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
.source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.