pub trait RawModule: Sized {
    type Linker: Linker<Self>;
    type LinkerHandle<'a>: LinkerHandle<'a, Self>;
    type Func;

    // Required method
    fn call<T>(
        &self,
        name: &str,
        args: &[u8],
        f: impl FnOnce(&[u8]) -> Result<T>
    ) -> Result<T>;
}
Expand description

Represents a raw plugin module.

Required Associated Types§

source

type Linker: Linker<Self>

The linker type that can create raw module.

source

type LinkerHandle<'a>: LinkerHandle<'a, Self>

The linker handle type.

source

type Func

The import function type.

Required Methods§

source

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

Calls a method by name.

The args and returns are bytes.

Implementors§