pub struct PluginRuntime { /* private fields */ }
Expand description
WebAssembly runtime for plugin execution
Implementations§
Source§impl PluginRuntime
impl PluginRuntime
Sourcepub fn new(config: RuntimeConfig) -> Result<PluginRuntime, PluginError>
pub fn new(config: RuntimeConfig) -> Result<PluginRuntime, PluginError>
Create a new plugin runtime
Note: The WebAssembly engine is lazy-initialized on first plugin load to avoid unnecessary memory allocation when no plugins are used.
Sourcepub async fn load_plugin(
&self,
plugin_id: PluginId,
manifest: PluginManifest,
wasm_path: &Path,
) -> Result<(), PluginError>
pub async fn load_plugin( &self, plugin_id: PluginId, manifest: PluginManifest, wasm_path: &Path, ) -> Result<(), PluginError>
Load a plugin from WebAssembly module
Sourcepub async fn unload_plugin(
&self,
plugin_id: &PluginId,
) -> Result<(), PluginError>
pub async fn unload_plugin( &self, plugin_id: &PluginId, ) -> Result<(), PluginError>
Unload a plugin
Sourcepub async fn execute_plugin_function<T>(
&self,
plugin_id: &PluginId,
function_name: &str,
context: &PluginContext,
input: &[u8],
) -> Result<PluginResult<T>, PluginError>where
T: DeserializeOwned,
pub async fn execute_plugin_function<T>(
&self,
plugin_id: &PluginId,
function_name: &str,
context: &PluginContext,
input: &[u8],
) -> Result<PluginResult<T>, PluginError>where
T: DeserializeOwned,
Execute a plugin function
Sourcepub async fn get_plugin_health(
&self,
plugin_id: &PluginId,
) -> Result<PluginHealth, PluginError>
pub async fn get_plugin_health( &self, plugin_id: &PluginId, ) -> Result<PluginHealth, PluginError>
Get plugin health status
Sourcepub async fn list_plugins(&self) -> Vec<PluginId>
pub async fn list_plugins(&self) -> Vec<PluginId>
List loaded plugins
Sourcepub async fn get_plugin_metrics(
&self,
plugin_id: &PluginId,
) -> Result<PluginMetrics, PluginError>
pub async fn get_plugin_metrics( &self, plugin_id: &PluginId, ) -> Result<PluginMetrics, PluginError>
Get plugin metrics
Auto Trait Implementations§
impl !Freeze for PluginRuntime
impl !RefUnwindSafe for PluginRuntime
impl !Send for PluginRuntime
impl !Sync for PluginRuntime
impl Unpin for PluginRuntime
impl !UnwindSafe for PluginRuntime
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> GetSetFdFlags for T
impl<T> GetSetFdFlags for T
Source§fn get_fd_flags(&self) -> Result<FdFlags, Error>where
T: AsFilelike,
fn get_fd_flags(&self) -> Result<FdFlags, Error>where
T: AsFilelike,
Query the “status” flags for the
self
file descriptor.Source§fn new_set_fd_flags(&self, fd_flags: FdFlags) -> Result<SetFdFlags<T>, Error>where
T: AsFilelike,
fn new_set_fd_flags(&self, fd_flags: FdFlags) -> Result<SetFdFlags<T>, Error>where
T: AsFilelike,
Source§fn set_fd_flags(&mut self, set_fd_flags: SetFdFlags<T>) -> Result<(), Error>where
T: AsFilelike,
fn set_fd_flags(&mut self, set_fd_flags: SetFdFlags<T>) -> Result<(), Error>where
T: AsFilelike,
Set the “status” flags for the
self
file descriptor. Read moreSource§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more