Internal interface config handling for PipeInterface

This commit is contained in:
Mark Qvist 2024-11-21 12:22:09 +01:00
parent ebf084cff0
commit 25127cd3c9
2 changed files with 14 additions and 30 deletions

View File

@ -46,16 +46,25 @@ class HDLC():
class PipeInterface(Interface): class PipeInterface(Interface):
MAX_CHUNK = 32768 MAX_CHUNK = 32768
BITRATE_GUESS = 1*1000*1000 BITRATE_GUESS = 1*1000*1000
DEFAULT_IFAC_SIZE = 8
owner = None owner = None
command = None command = None
def __init__(self, owner, name, command, respawn_delay): def __init__(self, owner, configuration):
super().__init__()
c = configuration
name = c["name"]
command = c["command"] if "command" in c else None
respawn_delay = c.as_float("respawn_delay") if "respawn_delay" in c else None
if command == None:
raise ValueError("No command specified for PipeInterface")
if respawn_delay == None: if respawn_delay == None:
respawn_delay = 5 respawn_delay = 5
super().__init__()
self.HW_MTU = 1064 self.HW_MTU = 1064
self.owner = owner self.owner = owner

View File

@ -619,33 +619,8 @@ class Reticulum:
interface_post_init(interface) interface_post_init(interface)
if c["type"] == "PipeInterface": if c["type"] == "PipeInterface":
command = c["command"] if "command" in c else None interface = PipeInterface.PipeInterface(RNS.Transport, interface_config)
respawn_delay = c.as_float("respawn_delay") if "respawn_delay" in c else None interface_post_init(interface)
if command == None:
raise ValueError("No command specified for PipeInterface")
interface = PipeInterface.PipeInterface(
RNS.Transport,
name,
command,
respawn_delay,
)
if "outgoing" in c and c.as_bool("outgoing") == False:
interface.OUT = False
else:
interface.OUT = True
interface.mode = interface_mode
interface.announce_cap = announce_cap
if configured_bitrate:
interface.bitrate = configured_bitrate
if ifac_size != None:
interface.ifac_size = ifac_size
else:
interface.ifac_size = 8
if c["type"] == "KISSInterface": if c["type"] == "KISSInterface":
preamble = int(c["preamble"]) if "preamble" in c else None preamble = int(c["preamble"]) if "preamble" in c else None