RawModule

Trait RawModule 

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

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§