LinkerHandle

Trait LinkerHandle 

Source
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.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§