pub trait HostFunctionRegistry {
    type State;
    type Error;
    type FunctionContext: FunctionContext;

    fn with_function_context<R>(
        caller: Caller<'_, Self::State>,
        callback: impl FnOnce(&mut dyn FunctionContext) -> R
    ) -> R; fn register_static<Params, Results>(
        &mut self,
        fn_name: &str,
        func: impl IntoFunc<Self::State, Params, Results> + 'static
    ) -> Result<(), Self::Error>; }
Expand description

A trait used to statically register host callbacks with the WASM executor, so that they call be called from within the runtime with minimal overhead.

This is used internally to interface the wasmtime-based executor with the host functions’ definitions generated through the runtime interface macro, and is not meant to be used directly.

Required Associated Types§

Required Methods§

Wraps the given caller in a type which implements FunctionContext and calls the given callback.

Registers a given host function with the WASM executor.

The function has to be statically callable, and all of its arguments and its return value have to be compatible with WASM FFI.

Implementors§