[][src]Struct kubos_service::Config

pub struct Config { /* fields omitted */ }

KubOS config used by either Apps or Services. KubOS config files use the TOML format, and can may contain multiple named Categories. Typically each category corresponds to an App or Service name. This allows one config file to store configuration for multiple Apps / Services at a time.

Example KubOS config files for a Service called my-service with an IP/port binding

[my-service]
my-property = "value"

[my-service.addr]
ip = 0.0.0.0
port = 8181

Methods

impl Config[src]

pub fn new(name: &str) -> Result<Config, Error>[src]

Creates and parses configuration data from the system configuration file or the path passed as the '-c' or '--config' option to this executable.

Arguments

name - Category name used as a key in the config file

pub fn new_from_path(name: &str, path: String) -> Result<Config, Error>[src]

Creates and parses configuration data from the passed in configuration path.

Arguments

name - Category name used as a key in the config file path - Path to configuration file

pub fn new_from_str(name: &str, config: &str) -> Result<Config, Error>[src]

Creates and parses configuration data from the passed in configuration string.

Arguments

name - Category name used as a key in the config config - Config data as a string

pub fn hosturl(&self) -> Option<String>[src]

Returns the configured hosturl string in the following format (using IPv4 addresses) - 0.0.0.0:0000

pub fn raw(&self) -> Value[src]

Returns the category's configuration information in the toml::Value format. This will contain the ip/port if provided, along with any other configuration information found in the config file.

Examples

use kubos_system::Config;

let config = Config::new("example-service").unwrap();
let raw = config.raw();
let bus = raw["bus"].as_str();

pub fn get(&self, key: &str) -> Option<Value>[src]

Performs a get on the raw config data

Arguments

key - Key of value to get from config

Trait Implementations

impl Default for Config[src]

impl Clone for Config[src]

impl Debug for Config[src]

Auto Trait Implementations

impl Send for Config

impl Unpin for Config

impl Sync for Config

impl UnwindSafe for Config

impl RefUnwindSafe for Config

Blanket Implementations

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> From<T> for T[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> DebugAny for T where
    T: Any + Debug

impl<T> CloneAny for T where
    T: Clone + Any

impl<T> UnsafeAny for T where
    T: Any

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,