pub struct PluginManager { /* private fields */ }Expand description
Main plugin manager
Implementations§
Source§impl PluginManager
impl PluginManager
pub fn new(config: PluginConfig) -> Self
pub fn with_default_config() -> Self
Sourcepub fn load_plugin(&mut self, plugin: Arc<dyn RulePlugin>) -> Result<()>
pub fn load_plugin(&mut self, plugin: Arc<dyn RulePlugin>) -> Result<()>
Load a plugin into the manager
Sourcepub fn unload_plugin(&mut self, name: &str) -> Result<()>
pub fn unload_plugin(&mut self, name: &str) -> Result<()>
Unload a plugin
Sourcepub fn hot_reload_plugin(
&mut self,
name: &str,
new_plugin: Arc<dyn RulePlugin>,
) -> Result<()>
pub fn hot_reload_plugin( &mut self, name: &str, new_plugin: Arc<dyn RulePlugin>, ) -> Result<()>
Hot reload a plugin
Sourcepub fn get_plugin_info(&self, name: &str) -> Option<&PluginMetadata>
pub fn get_plugin_info(&self, name: &str) -> Option<&PluginMetadata>
Get plugin metadata
Sourcepub fn list_plugins(&self) -> Vec<PluginInfo>
pub fn list_plugins(&self) -> Vec<PluginInfo>
List all loaded plugins
Sourcepub fn plugin_health_check(&mut self) -> HashMap<String, PluginHealth>
pub fn plugin_health_check(&mut self) -> HashMap<String, PluginHealth>
Health check all plugins
Sourcepub fn get_stats(&self) -> PluginStats
pub fn get_stats(&self) -> PluginStats
Get plugin statistics
Auto Trait Implementations§
impl Freeze for PluginManager
impl !RefUnwindSafe for PluginManager
impl Send for PluginManager
impl Sync for PluginManager
impl Unpin for PluginManager
impl !UnwindSafe for PluginManager
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