Struct casper_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
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
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.§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.§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.§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.