pub trait ImportedFunctionInterface {
type HostParameters: WitStore;
type HostResults: WitLoad;
type GuestParameters: FlatLayout;
type GuestResults: FlatLayout;
// Required methods
fn lower_parameters<Instance>(
parameters: Self::HostParameters,
memory: &mut Memory<'_, Instance>,
) -> Result<Self::GuestParameters, RuntimeError>
where Instance: InstanceWithMemory,
<Instance::Runtime as Runtime>::Memory: RuntimeMemory<Instance>;
fn lift_results<Instance>(
results: Self::GuestResults,
memory: &Memory<'_, Instance>,
) -> Result<Self::HostResults, RuntimeError>
where Instance: InstanceWithMemory,
<Instance::Runtime as Runtime>::Memory: RuntimeMemory<Instance>;
}
Expand description
Representation of an imported function’s interface.
Implemented for a tuple pair of the host parameters type and the host results type, and then allows converting to the guest function’s signature.
Required Associated Types§
sourcetype HostParameters: WitStore
type HostParameters: WitStore
The type representing the host-side parameters.
sourcetype HostResults: WitLoad
type HostResults: WitLoad
The type representing the host-side results.
sourcetype GuestParameters: FlatLayout
type GuestParameters: FlatLayout
The flat layout representing the guest-side parameters.
sourcetype GuestResults: FlatLayout
type GuestResults: FlatLayout
The flat layout representing the guest-side results.
Required Methods§
sourcefn lower_parameters<Instance>(
parameters: Self::HostParameters,
memory: &mut Memory<'_, Instance>,
) -> Result<Self::GuestParameters, RuntimeError>where
Instance: InstanceWithMemory,
<Instance::Runtime as Runtime>::Memory: RuntimeMemory<Instance>,
fn lower_parameters<Instance>(
parameters: Self::HostParameters,
memory: &mut Memory<'_, Instance>,
) -> Result<Self::GuestParameters, RuntimeError>where
Instance: InstanceWithMemory,
<Instance::Runtime as Runtime>::Memory: RuntimeMemory<Instance>,
Converts the host-side parameters into the guest-side parameters.
sourcefn lift_results<Instance>(
results: Self::GuestResults,
memory: &Memory<'_, Instance>,
) -> Result<Self::HostResults, RuntimeError>where
Instance: InstanceWithMemory,
<Instance::Runtime as Runtime>::Memory: RuntimeMemory<Instance>,
fn lift_results<Instance>(
results: Self::GuestResults,
memory: &Memory<'_, Instance>,
) -> Result<Self::HostResults, RuntimeError>where
Instance: InstanceWithMemory,
<Instance::Runtime as Runtime>::Memory: RuntimeMemory<Instance>,
Converts the guest-side results into the host-side results.
Object Safety§
This trait is not object safe.