Skip to main content

Module plugin_loader

Module plugin_loader 

Source
Expand description

§Plugin Loader

插件动态加载和管理系统。

支持两种加载方式:

  • dylib: 动态库加载 (.so/.dylib/.dll)
  • wasm: WebAssembly 模块加载 (沙箱隔离)

§示例

use sh_layer4::plugin_loader::{PluginLoader, DylibLoader};

// 加载动态库插件
let loader = PluginLoader::new("./plugins");
let name = loader.load_dylib(Path::new("./plugins/my_plugin.so")).await?;

// 初始化并执行
loader.initialize(&name, &context).await?;
let result = loader.execute(&name, &input).await?;

Re-exports§

pub use abi::StablePluginMeta;
pub use capabilities::Capability;
pub use capabilities::CapabilitySet;
pub use dylib::DylibLoader;
pub use dylib::PluginCreateFn;
pub use dylib::PluginDestroyFn;
pub use dylib::PluginMetaFn;
pub use sandbox::PluginSandbox;
pub use wasm::WasmLoader;

Modules§

abi
Stable ABI for Plugin Interface
capabilities
Plugin Capability-Based Security Model
dylib
Dynamic Library Plugin Loader
sandbox
Plugin Security Sandbox
wasm
WebAssembly Plugin Loader

Structs§

PluginContext
插件上下文
PluginInfo
插件信息
PluginLoader
插件加载器
PluginMeta
插件元数据
PluginRegistry
插件注册表

Enums§

PluginState
插件状态

Traits§

Plugin
插件接口