pub struct PluginRegistry { /* private fields */ }Expand description
Plugin registry
Implementations§
Source§impl PluginRegistry
impl PluginRegistry
Sourcepub fn register_plugin(&self, plugin: Arc<dyn ChaosPlugin>) -> Result<()>
pub fn register_plugin(&self, plugin: Arc<dyn ChaosPlugin>) -> Result<()>
Register a plugin
Sourcepub fn unregister_plugin(&self, plugin_id: &str) -> Result<()>
pub fn unregister_plugin(&self, plugin_id: &str) -> Result<()>
Unregister a plugin
Sourcepub fn get_plugin(&self, plugin_id: &str) -> Result<Arc<dyn ChaosPlugin>>
pub fn get_plugin(&self, plugin_id: &str) -> Result<Arc<dyn ChaosPlugin>>
Get a plugin
Sourcepub fn list_plugins(&self) -> Vec<PluginMetadata>
pub fn list_plugins(&self) -> Vec<PluginMetadata>
List all plugins
Sourcepub fn register_hook(&self, hook: Arc<dyn PluginHook>)
pub fn register_hook(&self, hook: Arc<dyn PluginHook>)
Register a hook
Sourcepub fn configure_plugin(
&self,
plugin_id: &str,
config: PluginConfig,
) -> Result<()>
pub fn configure_plugin( &self, plugin_id: &str, config: PluginConfig, ) -> Result<()>
Configure a plugin
Sourcepub fn get_config(&self, plugin_id: &str) -> Option<PluginConfig>
pub fn get_config(&self, plugin_id: &str) -> Option<PluginConfig>
Get plugin configuration
Sourcepub async fn execute_plugin(
&self,
plugin_id: &str,
context: PluginContext,
) -> Result<PluginResult>
pub async fn execute_plugin( &self, plugin_id: &str, context: PluginContext, ) -> Result<PluginResult>
Execute a plugin
Sourcepub fn find_by_capability(
&self,
capability: &PluginCapability,
) -> Vec<PluginMetadata>
pub fn find_by_capability( &self, capability: &PluginCapability, ) -> Vec<PluginMetadata>
Find plugins by capability
Sourcepub async fn initialize_all(&self) -> Result<()>
pub async fn initialize_all(&self) -> Result<()>
Initialize all plugins
Trait Implementations§
Auto Trait Implementations§
impl Freeze for PluginRegistry
impl !RefUnwindSafe for PluginRegistry
impl Send for PluginRegistry
impl Sync for PluginRegistry
impl Unpin for PluginRegistry
impl !UnwindSafe for PluginRegistry
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> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
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 moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request