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>;
}