Skip to main content

ModuleRuntime

Trait ModuleRuntime 

Source
pub trait ModuleRuntime: Send + Sync {
    // Required methods
    fn load(&self, reference: ModuleRef) -> Result<ModuleHandle>;
    fn call(
        &self,
        handle: ModuleHandle,
        method: &str,
        args: &[u8],
    ) -> Result<Vec<u8>>;
    fn unload(&self, handle: ModuleHandle) -> Result<()>;
    fn get_usage(&self, handle: ModuleHandle) -> Option<ModuleUsage>;
    fn get_profile(&self, handle: ModuleHandle) -> Option<ModuleProfile>;
    fn reload(
        &self,
        handle: ModuleHandle,
        reference: ModuleRef,
    ) -> Result<ReloadState>;
    fn reload_with_config(
        &self,
        handle: ModuleHandle,
        reference: ModuleRef,
        config: ReloadConfig,
    ) -> Result<ReloadState>;
}

Required Methods§

Source

fn load(&self, reference: ModuleRef) -> Result<ModuleHandle>

Source

fn call( &self, handle: ModuleHandle, method: &str, args: &[u8], ) -> Result<Vec<u8>>

Source

fn unload(&self, handle: ModuleHandle) -> Result<()>

Source

fn get_usage(&self, handle: ModuleHandle) -> Option<ModuleUsage>

Source

fn get_profile(&self, handle: ModuleHandle) -> Option<ModuleProfile>

Source

fn reload( &self, handle: ModuleHandle, reference: ModuleRef, ) -> Result<ReloadState>

Source

fn reload_with_config( &self, handle: ModuleHandle, reference: ModuleRef, config: ReloadConfig, ) -> Result<ReloadState>

Implementors§