module

RNS::Management::ConfigEngine

Constants

HOT_RELOAD_KEYS = Set {"networkname", "network_name", "passphrase", "pass_phrase", "ifac_size", "announce_rate_target", "announce_rate_grace", "announce_rate_penalty", "interface_mode", "mode", "bitrate", "ingress_control", "ic_max_held_announces", "ic_burst_hold", "ic_burst_freq_new", "ic_burst_freq", "ic_new_time", "ic_burst_penalty", "ic_held_release_interval", "discoverable", "announce_interval"}

Keys that can be changed without interface teardown

RESTART_SECTIONS = Set {"reticulum"}

Section names that require full restart

TARGETED_KEYS = Set {"target_host", "target_port", "listen_ip", "listen_port", "bind_ip", "bind_port", "port", "type", "devices", "group_id"}

Keys whose changes require interface teardown and recreation

Class methods

compute_config_hash(content : String) : Bytes
Source
diff_config(old_sections : Hash(String, Hash(String, String)), new_sections : Hash(String, Hash(String, String))) : Array(ConfigChange)
Source
validate_config_sections(sections : Hash(String, Hash(String, String)), protected_interface : String | Nil = nil) : NamedTuple(valid: Bool, errors: Array(String))
Source

Nested types