pub struct WasmPlugin {
pub name: String,
pub version: String,
pub description: String,
pub tools: Vec<PluginTool>,
/* private fields */
}Expand description
A loaded WASM plugin with its store, instance, and exported tools.
Fields§
§name: StringPlugin name (from plugin_name export).
version: StringPlugin version (from plugin_version export).
description: StringPlugin description (from plugin_description export).
tools: Vec<PluginTool>Tools exported by this plugin.
Implementations§
Source§impl WasmPlugin
impl WasmPlugin
Sourcepub fn load(path: &Path) -> Result<Self, PluginError>
pub fn load(path: &Path) -> Result<Self, PluginError>
Load a plugin from a .wasm file on disk.
Sourcepub fn load_from_bytes(wasm_bytes: &[u8]) -> Result<Self, PluginError>
pub fn load_from_bytes(wasm_bytes: &[u8]) -> Result<Self, PluginError>
Load a plugin from an in-memory WASM binary.
Sourcepub fn execute_tool(
&mut self,
tool_index: u32,
input: &str,
) -> Result<String, PluginError>
pub fn execute_tool( &mut self, tool_index: u32, input: &str, ) -> Result<String, PluginError>
Execute a tool by index, passing input as the argument string.
Returns the plugin’s output string.
Sourcepub fn register_into_registry(&mut self, registry: &mut ToolRegistry)
pub fn register_into_registry(&mut self, registry: &mut ToolRegistry)
Register all plugin tools into a ToolRegistry.
Trait Implementations§
Auto Trait Implementations§
impl !RefUnwindSafe for WasmPlugin
impl !UnwindSafe for WasmPlugin
impl Freeze for WasmPlugin
impl Send for WasmPlugin
impl Sync for WasmPlugin
impl Unpin for WasmPlugin
impl UnsafeUnpin for WasmPlugin
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
Source§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 moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request