#[non_exhaustive]pub struct Config {
pub target_ip: Option<Ipv4Addr>,
pub port: Option<u16>,
pub local_ip: Option<Ipv4Addr>,
pub interface: Option<String>,
pub broadcast: bool,
pub name: Option<String>,
pub uid: Option<DeviceUid>,
pub uid_path: Option<PathBuf>,
}Expand description
How a Remote finds the network.
Config::default discovers over multicast on the interface the host
picks, which is the right answer on a single-homed machine and arbitrary on
any other.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.target_ip: Option<Ipv4Addr>Where to send. Unset means the multicast group, or the interface’s
broadcast address when Config::broadcast is set.
port: Option<u16>UDP port. Unset means the default for the selected mode.
local_ip: Option<Ipv4Addr>Selects the interface by address.
It becomes both the multicast egress interface and the membership interface, so it decides which NIC frames leave by and which one they are accepted on. Getting it wrong on a multi-homed host is one-sided: periodic broadcasts still arrive, so discovery looks healthy while every request this client sends leaves by the wrong NIC and is never answered.
interface: Option<String>Selects the interface by name, taking precedence over
Config::local_ip.
An interface with no address of its own - a tagged VLAN - can only be named this way, and only on Linux.
broadcast: boolUse broadcast rather than multicast.
name: Option<String>The name this client advertises. Unset means MXR Rust.
uid: Option<DeviceUid>This client’s identifier. Unset loads it from
Config::uid_path, generating and storing one on first run.
uid_path: Option<PathBuf>Where the identifier is kept. Unset means .mxr-uid in the user’s home
directory.