Trait linera_witty::InstanceWithFunction

source ·
pub trait InstanceWithFunction<Parameters, Results>: Instance
where Parameters: FlatLayout, Results: FlatLayout,
{ type Function; // Required methods fn function_from_export( &mut self, export: <Self::Runtime as Runtime>::Export ) -> Result<Option<Self::Function>, RuntimeError>; fn call( &mut self, function: &Self::Function, parameters: Parameters ) -> Result<Results, RuntimeError>; // Provided method fn load_function( &mut self, name: &str ) -> Result<Self::Function, RuntimeError> { ... } }
Expand description

How a runtime supports a function signature.

Required Associated Types§

source

type Function

The runtime-specific type to represent the function.

Required Methods§

source

fn function_from_export( &mut self, export: <Self::Runtime as Runtime>::Export ) -> Result<Option<Self::Function>, RuntimeError>

Converts an export into a function, if it is one.

source

fn call( &mut self, function: &Self::Function, parameters: Parameters ) -> Result<Results, RuntimeError>

Calls the function from this instance using the specified parameters.

Provided Methods§

source

fn load_function(&mut self, name: &str) -> Result<Self::Function, RuntimeError>

Loads a function from the guest Wasm instance.

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl<Parameters, Results, I> InstanceWithFunction<Parameters, Results> for &mut I
where I: InstanceWithFunction<Parameters, Results>, Parameters: FlatLayout, Results: FlatLayout,

§

type Function = <I as InstanceWithFunction<Parameters, Results>>::Function

source§

fn function_from_export( &mut self, export: <Self::Runtime as Runtime>::Export ) -> Result<Option<Self::Function>, RuntimeError>

source§

fn call( &mut self, function: &Self::Function, parameters: Parameters ) -> Result<Results, RuntimeError>

Implementors§