Trait WasmInstance

Source
pub trait WasmInstance: Send {
    // Required methods
    fn call(
        &self,
        method: InvokeMethod<'_>,
        data: &[u8],
    ) -> Result<Vec<u8>, Error>;
    fn get_global_const(&self, name: &str) -> Result<Option<Value>, Error>;

    // Provided method
    fn call_export(&self, method: &str, data: &[u8]) -> Result<Vec<u8>, Error> { ... }
}
Expand description

A trait that defines an abstract wasm module instance.

This can be implemented by an execution engine.

Required Methods§

Source

fn call(&self, method: InvokeMethod<'_>, data: &[u8]) -> Result<Vec<u8>, Error>

Call a method on this WASM instance.

Before execution, instance is reset.

Returns the encoded result on success.

Source

fn get_global_const(&self, name: &str) -> Result<Option<Value>, Error>

Get the value from a global with the given name.

This method is only suitable for getting immutable globals.

Provided Methods§

Source

fn call_export(&self, method: &str, data: &[u8]) -> Result<Vec<u8>, Error>

Call an exported method on this WASM instance.

Before execution, instance is reset.

Returns the encoded result on success.

Implementors§