Config

Struct Config 

Source
pub struct Config {
    pub path: PathBuf,
    pub lease_time: LeaseTime,
    pub rapid_commit: bool,
    pub network_cidr: Ipv4Network,
    pub listen_address: SocketAddrV4,
    pub interface: Option<String>,
    pub server_address: Option<Ipv4Addr>,
    pub parameters: HashMap<String, MessageOptions>,
    pub static_leases: HashMap<MacAddress, Ipv4Addr>,
    pub use_leases_file: bool,
}
Expand description

Representation of a toe-beans.toml file. Used by the Server.

This is exported for you to use in your application to generate a toe-beans.toml.

Fields§

§path: PathBuf

The path to a directory where this config will exist on disk.

§lease_time: LeaseTime

See: LeaseTime

§rapid_commit: bool

Controls whether the server agrees to use Rapid Commit.

§network_cidr: Ipv4Network

A range of IP addresses for the server to lease. Specified in CIDR notation. For example: 10.1.9.32/16

§listen_address: SocketAddrV4

The server will bind to this address and port.

§interface: Option<String>

The name of the network interface to broadcast server responses to. Currently only takes one interface.

§server_address: Option<Ipv4Addr>

May or may not match the IP address in listen_address. For example, you might be listening to 0.0.0.0, but your server has another address it can be reached from. This is used in both the siaddr field and ServerIdentifier option.

If None, then listen_address is used.

§parameters: HashMap<String, MessageOptions>

DHCP option numbers (as a String) mapped to values that are used to respond to parameter request list options Please note that this field, in particular, is subject to change.

§static_leases: HashMap<MacAddress, Ipv4Addr>

This is passed to Leases’s static_leases field.

§use_leases_file: bool

Whether to read and write leases to a file to maintain state between server restarts. Defaults to true (when not in a benchmark or integration test) but you might want to set to false for performance, lack of storage, etc.

Implementations§

Source§

impl Config

Source

pub const FILE_NAME: &'static str = "toe-beans.toml"

The file name that the Config is read from and written to.

Source

pub fn read(from_where: PathBuf) -> Self

Reads the toe-beans.toml file and deserializes it into a Config. Returns default options if there are any issues.

Source

pub fn write(&self)

Serializes a Config and writes it to a toe-beans.toml file.

Trait Implementations§

Source§

impl Debug for Config

Source§

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

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

impl Default for Config

Source§

fn default() -> Self

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

impl<'de> Deserialize<'de> for Config

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl Serialize for Config

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. 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§

§

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

§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

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

§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
§

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

§

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

Mutably borrows from an owned value. Read more
§

impl<T> From<T> for T

§

fn from(t: T) -> T

Returns the argument unchanged.

§

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

§

fn into(self) -> U

Calls U::from(self).

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

§

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

§

type Error = Infallible

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

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

Performs the conversion.
§

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

§

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

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

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

Performs the conversion.
Source§

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

Source§

fn vzip(self) -> V

Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,