ServiceConfig

Struct ServiceConfig 

Source
pub struct ServiceConfig { /* private fields */ }
Expand description

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

Implementations§

Source§

impl Config

Source

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

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

Source

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

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

Source

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

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

Source

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

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

Source

pub fn raw(&self) -> Value

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();
Source

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

Performs a get on the raw config data

§Arguments

key - Key of value to get from config

Source

pub fn get_hex(&self, key: &str) -> Option<u8>

  • Arguments key - Key of value to get from config

Trait Implementations§

Source§

impl Clone for Config

Source§

fn clone(&self) -> Config

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Config

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
Source§

impl Default for Config

Source§

fn default() -> Config

Returns the “default value” for a type. Read more

Auto Trait Implementations§

§

impl Freeze for Config

§

impl RefUnwindSafe for Config

§

impl Send for Config

§

impl Sync for Config

§

impl Unpin for Config

§

impl UnwindSafe for Config

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

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

Source§

fn clone_any(&self) -> Box<dyn CloneAny>

Source§

fn clone_any_send(&self) -> Box<dyn CloneAny + Send>
where T: Send,

Source§

fn clone_any_sync(&self) -> Box<dyn CloneAny + Sync>
where T: Sync,

Source§

fn clone_any_send_sync(&self) -> Box<dyn CloneAny + Send + Sync>
where T: Send + Sync,

Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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 more
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

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

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

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

Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Err>

Source§

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

Source§

impl<T> ErasedDestructor for T
where T: 'static,

Source§

impl<T> UnsafeAny for T
where T: Any,