pub trait LinkerHandle<'a, M: RawModule> {
    // Required methods
    fn call<T>(
        &mut self,
        m: &M,
        name: &str,
        args: &[u8],
        f: impl FnOnce(&[u8]) -> Result<T>
    ) -> Result<T>;
    fn slice<T>(&self, start: i32, len: i32, f: impl FnOnce(&[u8]) -> T) -> T;
    fn slice_mut<T>(
        &mut self,
        start: i32,
        len: i32,
        f: impl FnOnce(&mut [u8]) -> T
    ) -> T;
}
Expand description

Represents a handle of linker.

Usually it is not easy to call function inside host functions. A handle provides methods to do so.

Required Methods§

source

fn call<T>( &mut self, m: &M, name: &str, args: &[u8], f: impl FnOnce(&[u8]) -> Result<T> ) -> Result<T>

Call methods of a module.

source

fn slice<T>(&self, start: i32, len: i32, f: impl FnOnce(&[u8]) -> T) -> T

Get memory slice.

source

fn slice_mut<T>( &mut self, start: i32, len: i32, f: impl FnOnce(&mut [u8]) -> T ) -> T

Get memory mutable slice.

Implementors§