mirror of
https://github.com/markqvist/Reticulum.git
synced 2026-06-08 14:11:53 -07:00
IC config stuff
This commit is contained in:
+34
-20
@@ -90,26 +90,40 @@ class Interface:
|
||||
self.bitrate = 62500
|
||||
self.HW_MTU = None
|
||||
|
||||
self.supports_discovery = False
|
||||
self.discoverable = False
|
||||
self.last_discovery_announce = 0
|
||||
self.bootstrap_only = False
|
||||
self.parent_interface = None
|
||||
self.spawned_interfaces = None
|
||||
self.tunnel_id = None
|
||||
self.ingress_control = True
|
||||
self.phy_keepalive = False
|
||||
self.ic_max_held_announces = Interface.MAX_HELD_ANNOUNCES
|
||||
self.ic_burst_hold = Interface.IC_BURST_HOLD
|
||||
self.ic_burst_active = False
|
||||
self.ic_burst_activated = 0
|
||||
self.ic_held_release = 0
|
||||
self.ic_burst_freq_new = Interface.IC_BURST_FREQ_NEW
|
||||
self.ic_burst_freq = Interface.IC_BURST_FREQ
|
||||
self.ic_new_time = Interface.IC_NEW_TIME
|
||||
self.ic_burst_penalty = Interface.IC_BURST_PENALTY
|
||||
self.ic_held_release_interval = Interface.IC_HELD_RELEASE_INTERVAL
|
||||
self.held_announces = {}
|
||||
self.supports_discovery = False
|
||||
self.discoverable = False
|
||||
self.last_discovery_announce = 0
|
||||
self.bootstrap_only = False
|
||||
self.parent_interface = None
|
||||
self.spawned_interfaces = None
|
||||
self.tunnel_id = None
|
||||
self.ingress_control = True
|
||||
self.phy_keepalive = False
|
||||
|
||||
self.ic_max_held_announces = RNS.Reticulum.get_instance()._default_ic_max_held_announces()
|
||||
self.ic_burst_hold = RNS.Reticulum.get_instance()._default_ic_burst_hold()
|
||||
self.ic_burst_active = False
|
||||
self.ic_burst_activated = 0
|
||||
self.ic_held_release = 0
|
||||
self.ic_burst_freq_new = RNS.Reticulum.get_instance()._default_ic_burst_freq_new()
|
||||
self.ic_burst_freq = RNS.Reticulum.get_instance()._default_ic_burst_freq()
|
||||
self.ic_new_time = RNS.Reticulum.get_instance()._default_ic_new_time()
|
||||
self.ic_burst_penalty = RNS.Reticulum.get_instance()._default_ic_burst_penalty()
|
||||
self.ic_held_release_interval = RNS.Reticulum.get_instance()._default_ic_held_release_interval()
|
||||
self.held_announces = {}
|
||||
|
||||
RNS.log(f"=========== {self} ===========")
|
||||
RNS.log(f"self.ic_max_held_announces : {self.ic_max_held_announces}", RNS.LOG_CRITICAL)
|
||||
RNS.log(f"self.ic_burst_hold : {self.ic_burst_hold}", RNS.LOG_CRITICAL)
|
||||
RNS.log(f"self.ic_burst_active : {self.ic_burst_active}", RNS.LOG_CRITICAL)
|
||||
RNS.log(f"self.ic_burst_activated : {self.ic_burst_activated}", RNS.LOG_CRITICAL)
|
||||
RNS.log(f"self.ic_held_release : {self.ic_held_release}", RNS.LOG_CRITICAL)
|
||||
RNS.log(f"self.ic_burst_freq_new : {self.ic_burst_freq_new}", RNS.LOG_CRITICAL)
|
||||
RNS.log(f"self.ic_burst_freq : {self.ic_burst_freq}", RNS.LOG_CRITICAL)
|
||||
RNS.log(f"self.ic_new_time : {self.ic_new_time}", RNS.LOG_CRITICAL)
|
||||
RNS.log(f"self.ic_burst_penalty : {self.ic_burst_penalty}", RNS.LOG_CRITICAL)
|
||||
RNS.log(f"self.ic_held_release_interval : {self.ic_held_release_interval}", RNS.LOG_CRITICAL)
|
||||
RNS.log(f"=========== {self} ===========\n")
|
||||
|
||||
self.ia_freq_deque = deque(maxlen=Interface.IA_FREQ_SAMPLES)
|
||||
self.oa_freq_deque = deque(maxlen=Interface.OA_FREQ_SAMPLES)
|
||||
|
||||
+72
-15
@@ -249,22 +249,29 @@ class Reticulum:
|
||||
Reticulum.blackholepath = Reticulum.configdir+"/storage/blackhole"
|
||||
Reticulum.interfacepath = Reticulum.configdir+"/interfaces"
|
||||
|
||||
Reticulum.__network_identity = None
|
||||
Reticulum.__transport_enabled = False
|
||||
Reticulum.__link_mtu_discovery = Reticulum.LINK_MTU_DISCOVERY
|
||||
Reticulum.__remote_management_enabled = False
|
||||
Reticulum.__use_implicit_proof = True
|
||||
Reticulum.__allow_probes = False
|
||||
Reticulum.__discovery_enabled = False
|
||||
Reticulum.__discover_interfaces = False
|
||||
Reticulum.__network_identity = None
|
||||
Reticulum.__transport_enabled = False
|
||||
Reticulum.__link_mtu_discovery = Reticulum.LINK_MTU_DISCOVERY
|
||||
Reticulum.__remote_management_enabled = False
|
||||
Reticulum.__use_implicit_proof = True
|
||||
Reticulum.__allow_probes = False
|
||||
Reticulum.__discovery_enabled = False
|
||||
Reticulum.__discover_interfaces = False
|
||||
Reticulum.__autoconnect_discovered_interfaces = False
|
||||
Reticulum.__required_discovery_value = None
|
||||
Reticulum.__publish_blackhole = False
|
||||
Reticulum.__blackhole_sources = []
|
||||
Reticulum.__interface_sources = []
|
||||
Reticulum.__default_ar_target = None
|
||||
Reticulum.__default_ar_penalty = None
|
||||
Reticulum.__default_ar_grace = None
|
||||
Reticulum.__required_discovery_value = None
|
||||
Reticulum.__publish_blackhole = False
|
||||
Reticulum.__blackhole_sources = []
|
||||
Reticulum.__interface_sources = []
|
||||
Reticulum.__default_ar_target = None
|
||||
Reticulum.__default_ar_penalty = None
|
||||
Reticulum.__default_ar_grace = None
|
||||
Reticulum.__ic_max_held_announces = None
|
||||
Reticulum.__ic_burst_hold = None
|
||||
Reticulum.__ic_burst_freq_new = None
|
||||
Reticulum.__ic_burst_freq = None
|
||||
Reticulum.__ic_new_time = None
|
||||
Reticulum.__ic_burst_penalty = None
|
||||
Reticulum.__ic_held_release_interval = None
|
||||
|
||||
Reticulum.panic_on_interface_error = False
|
||||
|
||||
@@ -596,6 +603,35 @@ class Reticulum:
|
||||
v = self.config["reticulum"].as_int(option)
|
||||
if v >= 0: Reticulum.__default_ar_grace = v
|
||||
|
||||
if option == "ic_max_held_announces":
|
||||
v = self.config["reticulum"].as_int(option)
|
||||
if v >= 0: Reticulum.__ic_max_held_announces = v
|
||||
|
||||
if option == "ic_burst_hold":
|
||||
v = self.config["reticulum"].as_float(option)
|
||||
if v >= 0: Reticulum.__ic_burst_hold = v
|
||||
|
||||
if option == "ic_burst_freq_new":
|
||||
v = self.config["reticulum"].as_float(option)
|
||||
if v >= 0: Reticulum.__ic_burst_freq_new = v
|
||||
|
||||
if option == "ic_burst_freq":
|
||||
v = self.config["reticulum"].as_float(option)
|
||||
if v >= 0: Reticulum.__ic_burst_freq = v
|
||||
|
||||
if option == "ic_new_time":
|
||||
v = self.config["reticulum"].as_float(option)
|
||||
if v >= 0: Reticulum.__ic_new_time = v
|
||||
|
||||
if option == "ic_burst_penalty":
|
||||
v = self.config["reticulum"].as_float(option)
|
||||
if v >= 0: Reticulum.__ic_burst_penalty = v
|
||||
|
||||
if option == "ic_held_release_interval":
|
||||
v = self.config["reticulum"].as_float(option)
|
||||
if v >= 0: Reticulum.__ic_held_release_interval = v
|
||||
|
||||
|
||||
if RNS.compiled: RNS.log("Reticulum running in compiled mode", RNS.LOG_DEBUG)
|
||||
else: RNS.log("Reticulum running in interpreted mode", RNS.LOG_DEBUG)
|
||||
|
||||
@@ -1021,6 +1057,27 @@ class Reticulum:
|
||||
def _default_ar_grace(self):
|
||||
return self.__default_ar_grace or RNS.Interfaces.Interface.Interface.DEFAULT_AR_GRACE
|
||||
|
||||
def _default_ic_max_held_announces(self):
|
||||
return self.__ic_max_held_announces or RNS.Interfaces.Interface.Interface.MAX_HELD_ANNOUNCES
|
||||
|
||||
def _default_ic_burst_hold(self):
|
||||
return self.__ic_burst_hold or RNS.Interfaces.Interface.Interface.IC_BURST_HOLD
|
||||
|
||||
def _default_ic_burst_freq_new(self):
|
||||
return self.__ic_burst_freq_new or RNS.Interfaces.Interface.Interface.IC_BURST_FREQ_NEW
|
||||
|
||||
def _default_ic_burst_freq(self):
|
||||
return self.__ic_burst_freq or RNS.Interfaces.Interface.Interface.IC_BURST_FREQ
|
||||
|
||||
def _default_ic_new_time(self):
|
||||
return self.__ic_new_time or RNS.Interfaces.Interface.Interface.IC_NEW_TIME
|
||||
|
||||
def _default_ic_burst_penalty(self):
|
||||
return self.__ic_burst_penalty or RNS.Interfaces.Interface.Interface.IC_BURST_PENALTY
|
||||
|
||||
def _default_ic_held_release_interval(self):
|
||||
return self.__ic_held_release_interval or RNS.Interfaces.Interface.Interface.IC_HELD_RELEASE_INTERVAL
|
||||
|
||||
def _should_persist_data(self, background=False):
|
||||
if time.time() > self.last_data_persist+Reticulum.GRACIOUS_PERSIST_INTERVAL:
|
||||
def job(): self.__persist_data(background=background)
|
||||
|
||||
Reference in New Issue
Block a user