mm1_node/config/
defaults.rs1use mm1_address::address::Address;
2use mm1_address::subnet::{NetAddress, NetMask};
3
4use crate::config::{DefLocalSubnet, LocalSubnetKind, Mm1NodeConfig};
5
6const DEFAULT_LOCAL_SUBNET_ADDRESS_AUTO: NetAddress = NetAddress {
7 address: Address::from_u64(0xFFF80000_00000000),
8 mask: NetMask::M_13,
9};
10const DEFAULT_LOCAL_SUBNET_ADDRESS_BIND: NetAddress = NetAddress {
11 address: Address::from_u64(0xFFF00000_00000000),
12 mask: NetMask::M_13,
13};
14
15pub(super) fn local_subnets() -> Vec<DefLocalSubnet> {
16 vec![
17 DefLocalSubnet {
18 net: DEFAULT_LOCAL_SUBNET_ADDRESS_AUTO,
19 kind: LocalSubnetKind::Auto,
20 },
21 DefLocalSubnet {
22 net: DEFAULT_LOCAL_SUBNET_ADDRESS_BIND,
23 kind: LocalSubnetKind::Bind,
24 },
25 ]
26}
27
28impl Default for Mm1NodeConfig {
29 fn default() -> Self {
30 Self {
31 local_subnets: local_subnets(),
32 actor: Default::default(),
33 runtime: Default::default(),
34 #[cfg(feature = "multinode")]
35 inbound: Default::default(),
36 #[cfg(feature = "multinode")]
37 outbound: Default::default(),
38 }
39 }
40}
41
42#[cfg(test)]
43mod tests {
44 use crate::config::Mm1NodeConfig;
45
46 #[test]
47 fn default_mm1_node_config_is_valid() {
48 Mm1NodeConfig::default()
49 .validate()
50 .expect("default config is not valid");
51 }
52}