Struct soroban_wasmi::TypedFunc
source · pub struct TypedFunc<Params, Results> { /* private fields */ }
Expand description
Implementations§
source§impl<Params, Results> TypedFunc<Params, Results>where
Params: WasmParams,
Results: WasmResults,
impl<Params, Results> TypedFunc<Params, Results>where
Params: WasmParams,
Results: WasmResults,
sourcepub fn call(
&self,
ctx: impl AsContextMut,
params: Params,
) -> Result<Results, Error>
pub fn call( &self, ctx: impl AsContextMut, params: Params, ) -> Result<Results, Error>
Calls this Wasm or host function with the specified parameters.
Returns either the results of the call, or a Error
if one happened.
For more information, see the Func::typed
and Func::call
documentation.
§Panics
Panics if ctx
does not own this TypedFunc
.
§Errors
If the execution of the called Wasm function traps.
sourcepub fn call_resumable(
&self,
ctx: impl AsContextMut,
params: Params,
) -> Result<TypedResumableCall<Results>, Error>
pub fn call_resumable( &self, ctx: impl AsContextMut, params: Params, ) -> Result<TypedResumableCall<Results>, Error>
Calls this Wasm or host function with the specified parameters.
Returns a resumable handle to the function invocation upon encountering host errors with which it is possible to handle the error and continue the execution as if no error occurred.
§Note
This is a non-standard WebAssembly API and might not be available at other WebAssembly engines. Please be aware that depending on this feature might mean a lock-in to Wasmi for users.
§Errors
If the function returned a Error
originating from WebAssembly.
Trait Implementations§
impl<Params, Results> Copy for TypedFunc<Params, Results>
Auto Trait Implementations§
impl<Params, Results> Freeze for TypedFunc<Params, Results>
impl<Params, Results> RefUnwindSafe for TypedFunc<Params, Results>
impl<Params, Results> Send for TypedFunc<Params, Results>
impl<Params, Results> Sync for TypedFunc<Params, Results>
impl<Params, Results> Unpin for TypedFunc<Params, Results>
impl<Params, Results> UnwindSafe for TypedFunc<Params, Results>
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
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
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>
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)
&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)
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.