wasmedge_sdk::plugin

Struct PluginManager

Source
pub struct PluginManager {}
Expand description

Defines the API to manage plugins.

Implementations§

Source§

impl PluginManager

Source

pub fn load(path: Option<&Path>) -> WasmEdgeResult<()>

Load plugins from the given path.

  • If the path is not given, then the default plugin paths will be used. The default plugin paths are

    • The environment variable “WASMEDGE_PLUGIN_PATH”.

    • The ../plugin/ directory related to the WasmEdge installation path.

    • The wasmedge/ directory under the library path if the WasmEdge is installed under the “/usr”.

  • If the path is given, then

    • If the path is pointing at a file , then it indicates that a single plugin will be loaded from the file.

    • If the path is pointing at a directory, then the method will load plugins from the files in the directory.

§Argument
  • path - A path to a plugin file or a directory holding plugin files. If None, then the default plugin path will be used.
Source

pub fn nn_preload(preloads: Vec<NNPreload>)

Available on crate feature wasi_nn only.

Initialize the wasi_nn plug-in with the preloads.

Note that this function is only available after loading the wasi_nn plug-in and before creating, and before creating the module instance from the plug-in.

§Argument
  • preloads - The preload list.
§Example
// load wasinn-pytorch-plugin from the default plugin directory: /usr/local/lib/wasmedge
PluginManager::load(None)?;
// preload named model
PluginManager::nn_preload(vec![NNPreload::new(
    "default",
    GraphEncoding::GGML,
    ExecutionTarget::CPU,
    "llama-2-7b-chat.Q5_K_M.gguf",
)]);

If a preload is string, then use NNPreload::from_str to create a NNPreload instance:

use std::str::FromStr;

// load wasinn-pytorch-plugin from the default plugin directory: /usr/local/lib/wasmedge
PluginManager::load(None)?;
// preload named model
PluginManager::nn_preload(vec![NNPreload::from_str("default:GGML:CPU:llama-2-7b-chat.Q5_K_M.gguf")?]);
Source

pub fn count() -> u32

Returns the count of loaded plugins.

Source

pub fn names() -> Vec<String>

Returns the names of all loaded plugins.

Source

pub fn find(name: impl AsRef<str>) -> WasmEdgeResult<Plugin>

Returns the target plugin by its name.

§Argument
  • name - The name of the target plugin.
§Error

If failed to return the plugin module instance, then return PluginError::NotFound error.

Source

pub fn create_plugin_instance( pname: impl AsRef<str>, mname: impl AsRef<str>, ) -> WasmEdgeResult<PluginInstance>

Source

pub fn init_wasmedge_process(allowed_cmds: Option<Vec<&str>>, allowed: bool)

Available on Linux and crate feature wasmedge_process and non-crate feature static only.

Initializes the wasmedge_process plugin module instance with the parameters.

§Arguments
  • allowed_cmds - A white list of commands.

  • allowed - Determines if wasmedge_process is allowed to execute all commands on the white list.

Source

pub fn auto_detect_plugins() -> WasmEdgeResult<Vec<Instance>>

Source§

impl PluginManager

Trait Implementations§

Source§

impl Debug for PluginManager

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.