pub trait WasmInstance: Send + Sync {
// Required methods
fn state(&self) -> WasmInstanceState;
fn memory_usage(&self) -> usize;
fn fuel_usage(&self) -> Option<u64>;
fn reset_fuel(&self) -> Result<()>;
fn add_fuel(&self, fuel: u64) -> Result<()>;
unsafe fn memory_ptr(&self) -> Result<*mut u8>;
fn memory_size(&self) -> usize;
fn function_caller(&self) -> Box<dyn WasmFunctionCaller>;
fn call_simple_function(
&self,
function_name: &str,
params: &[i32],
) -> Result<i32>;
}
Expand description
WebAssembly instance abstraction (dyn-compatible part)
Required Methods§
Sourcefn state(&self) -> WasmInstanceState
fn state(&self) -> WasmInstanceState
Get the instance state
Sourcefn memory_usage(&self) -> usize
fn memory_usage(&self) -> usize
Get memory usage in bytes
Sourcefn fuel_usage(&self) -> Option<u64>
fn fuel_usage(&self) -> Option<u64>
Get fuel usage (if enabled)
Sourcefn reset_fuel(&self) -> Result<()>
fn reset_fuel(&self) -> Result<()>
Reset fuel counter (if enabled)
Sourceunsafe fn memory_ptr(&self) -> Result<*mut u8>
unsafe fn memory_ptr(&self) -> Result<*mut u8>
Get a raw pointer to the instance memory
§Safety
This is unsafe because it allows direct access to the instance’s memory. The caller must ensure that they do not corrupt memory or violate WebAssembly’s memory safety guarantees.
Sourcefn memory_size(&self) -> usize
fn memory_size(&self) -> usize
Get memory size in bytes
Sourcefn function_caller(&self) -> Box<dyn WasmFunctionCaller>
fn function_caller(&self) -> Box<dyn WasmFunctionCaller>
Get the function caller for this instance