pub struct PluginManager { /* private fields */ }Expand description
Plugin manager for coordinating all plugins
Implementations§
Source§impl PluginManager
impl PluginManager
Sourcepub fn new(config: PluginRuntimeConfig) -> Result<Self, PluginError>
pub fn new(config: PluginRuntimeConfig) -> Result<Self, PluginError>
Create a new plugin manager
Sourcepub fn load_plugin(&self, path: &Path) -> Result<(), PluginError>
pub fn load_plugin(&self, path: &Path) -> Result<(), PluginError>
Load a plugin from file. When the runtime config sets a
trust_root, attaches a SignatureVerifier so every load
requires a matching .sig sidecar (FU-23 + FU-24).
Sourcepub fn unload_plugin(&self, name: &str) -> Result<(), PluginError>
pub fn unload_plugin(&self, name: &str) -> Result<(), PluginError>
Unload a plugin
Sourcepub fn reload_plugin(&self, name: &str) -> Result<(), PluginError>
pub fn reload_plugin(&self, name: &str) -> Result<(), PluginError>
Reload a plugin
Sourcepub fn execute_pre_query(&self, ctx: &QueryContext) -> PreQueryResult
pub fn execute_pre_query(&self, ctx: &QueryContext) -> PreQueryResult
Execute pre-query hooks
Sourcepub fn execute_post_query(&self, ctx: &QueryContext, outcome: &PostQueryOutcome)
pub fn execute_post_query(&self, ctx: &QueryContext, outcome: &PostQueryOutcome)
Execute post-query hooks.
Fan-out notification to every registered PostQuery plugin. Unlike
execute_pre_query, no plugin can short-circuit the others — post
hooks are observer-only (logging, metrics, audit). Errors from any
plugin are logged but never block completion.
Sourcepub fn execute_authenticate(&self, request: &AuthRequest) -> AuthResult
pub fn execute_authenticate(&self, request: &AuthRequest) -> AuthResult
Execute authentication hooks
Sourcepub fn execute_route(&self, ctx: &QueryContext) -> RouteResult
pub fn execute_route(&self, ctx: &QueryContext) -> RouteResult
Execute routing hooks
Sourcepub fn list_plugins(&self) -> Vec<PluginInfo>
pub fn list_plugins(&self) -> Vec<PluginInfo>
List loaded plugins
Sourcepub fn get_metrics(&self) -> PluginManagerMetrics
pub fn get_metrics(&self) -> PluginManagerMetrics
Get plugin metrics
Sourcepub fn check_updates(&self) -> Result<Vec<ReloadEvent>, PluginError>
pub fn check_updates(&self) -> Result<Vec<ReloadEvent>, PluginError>
Check for hot reload updates
Auto Trait Implementations§
impl !Freeze for PluginManager
impl !RefUnwindSafe for PluginManager
impl Send for PluginManager
impl Sync for PluginManager
impl Unpin for PluginManager
impl UnsafeUnpin 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
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more