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§
- Plugin
Context - 插件上下文
- Plugin
Info - 插件信息
- Plugin
Loader - 插件加载器
- Plugin
Meta - 插件元数据
- Plugin
Registry - 插件注册表
Enums§
- Plugin
State - 插件状态
Traits§
- Plugin
- 插件接口