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", so this trait is not object safe.

Implementors§