Skip to main content

Configurable

Trait Configurable 

Source
pub trait Configurable {
    // Required methods
    fn config(&self) -> &Config;
    fn config_mut(&mut self) -> &mut Config;
    fn set_config(&mut self, config: Config);

    // Provided method
    fn on_config_changed(&mut self) { ... }
}
Expand description

Configurable trait

Types that implement this trait can be configured using Config.

§Examples

use qubit_config::{Config, Configurable};

struct Server { config: Config }

impl Configurable for Server {
    fn config(&self) -> &Config {
        &self.config
    }
    fn config_mut(&mut self) -> &mut Config {
        &mut self.config
    }
    fn set_config(&mut self, config: Config) {
        self.config = config;
        self.on_config_changed();
    }
}
use qubit_config::{ConfigResult, ConfigError};

§Author

Haixing Hu

Required Methods§

Source

fn config(&self) -> &Config

Gets a reference to the configuration

§Returns

Returns an immutable reference to the configuration

§Author

Haixing Hu

Source

fn config_mut(&mut self) -> &mut Config

Gets a mutable reference to the configuration

§Returns

Returns a mutable reference to the configuration

§Author

Haixing Hu

Source

fn set_config(&mut self, config: Config)

Sets the configuration

§Parameters
  • config - The new configuration
§Returns

Nothing.

§Author

Haixing Hu

Provided Methods§

Source

fn on_config_changed(&mut self)

Callback after configuration changes

This method is called when the configuration is modified. Implementors may override it to run side effects after Self::set_config.

§Returns

Nothing.

§Author

Haixing Hu

Implementors§