Skip to main content

PluginManager

Trait PluginManager 

Source
pub trait PluginManager {
    // Required methods
    fn name() -> &'static str;
    fn plugins(
        _config: Option<&[ConfigItem<'_>]>,
    ) -> Result<PluginRegistration, Box<dyn Error>>;

    // Provided methods
    fn capabilities() -> PluginManagerCapabilities { ... }
    fn initialize() -> Result<(), Box<dyn Error>> { ... }
    fn shutdown() -> Result<(), Box<dyn Error>> { ... }
}
Expand description

Defines the entry point for a collectd plugin. Based on collectd’s configuration, a PluginManager will register any number of plugins (or return an error)

Required Methods§

Source

fn name() -> &'static str

Name of the plugin. Must not contain null characters or panic.

Source

fn plugins( _config: Option<&[ConfigItem<'_>]>, ) -> Result<PluginRegistration, Box<dyn Error>>

Returns one or many instances of a plugin that is configured from collectd’s configuration file. If parameter is None, a configuration section for the plugin was not found, so default values should be used.

Provided Methods§

Source

fn capabilities() -> PluginManagerCapabilities

Defines the capabilities of the plugin manager. Must not panic.

Source

fn initialize() -> Result<(), Box<dyn Error>>

Initialize any socket, files, event loops, or any other resources that will be shared between multiple plugin instances.

Source

fn shutdown() -> Result<(), Box<dyn Error>>

Cleanup any resources or glodal data, allocated during initialize()

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§