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 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.

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 Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere 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 Twhere 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 Twhere U: Into<T>,

§

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 Twhere U: TryFrom<T>,

§

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.
§

impl<V, T> VZip<V> for Twhere V: MultiLane<T>,

§

fn vzip(self) -> V