aboutsummaryrefslogtreecommitdiffstats
path: root/packages/meshbay-node/src/meshbay_node/roster.py
diff options
context:
space:
mode:
Diffstat (limited to 'packages/meshbay-node/src/meshbay_node/roster.py')
-rw-r--r--packages/meshbay-node/src/meshbay_node/roster.py22
1 files changed, 13 insertions, 9 deletions
diff --git a/packages/meshbay-node/src/meshbay_node/roster.py b/packages/meshbay-node/src/meshbay_node/roster.py
index 5bdb5ee..5af2b55 100644
--- a/packages/meshbay-node/src/meshbay_node/roster.py
+++ b/packages/meshbay-node/src/meshbay_node/roster.py
@@ -765,6 +765,7 @@ class Roster:
SETTING_MAX_STREAMS = "max_concurrent_streams"
SETTING_TRANSCODE = "transcode_incompatible_video"
SETTING_STUN_SERVERS = "stun_servers"
+ SETTING_ICE_INTERFACES = "ice_interfaces"
async def node_settings(self, defaults: dict) -> dict:
"""Current effective settings: roster override if present, else config default."""
@@ -785,15 +786,18 @@ class Roster:
result[key] = int(stored)
else:
result[key] = defaults.get(key)
- stored = await self.get_setting(self.NODE_WIDE_GROUP_ID,
- self.SETTING_STUN_SERVERS)
- if stored is not None:
- try:
- result["stun_servers"] = _json.loads(stored)
- except (ValueError, TypeError):
- result["stun_servers"] = defaults.get("stun_servers", [])
- else:
- result["stun_servers"] = defaults.get("stun_servers", [])
+ for list_key, setting in [
+ ("stun_servers", self.SETTING_STUN_SERVERS),
+ ("ice_interfaces", self.SETTING_ICE_INTERFACES),
+ ]:
+ stored = await self.get_setting(self.NODE_WIDE_GROUP_ID, setting)
+ if stored is not None:
+ try:
+ result[list_key] = _json.loads(stored)
+ except (ValueError, TypeError):
+ result[list_key] = defaults.get(list_key, [])
+ else:
+ result[list_key] = defaults.get(list_key, [])
return result
async def set_node_setting(self, key: str, value: str,