rename receiver to relay

This commit is contained in:
ChaoticByte 2025-09-27 11:52:56 +02:00
parent 3348c53aea
commit a1739c4b7a
No known key found for this signature in database
2 changed files with 19 additions and 19 deletions

View file

@ -21,10 +21,10 @@ class Node:
max_known_hashes_size = 1024 * 1024
def __init__(self, listen_address: NodeAddr, receivers: list[NodeAddr]):
def __init__(self, listen_address: NodeAddr, relays: list[NodeAddr]):
self.listen_address = listen_address
self.receivers = list(receivers)
for r in receivers:
self.relays = list(relays)
for r in relays:
if not isinstance(r, NodeAddr):
raise TypeError(f"{r} must be of type NodeAddr")
# internal
@ -39,18 +39,18 @@ class Node:
while len(self._known_hashes) > self.max_known_hashes_size:
self._known_hashes.pop(0)
async def _conn_to_receiver(self, r: NodeAddr):
async def _conn_to_relay(self, r: NodeAddr):
identifier = r.identifier()
log("Attempting to connect to receiver", identifier)
log("Attempting to connect to relay", identifier)
async for ws in connect(r.ws_uri()):
log("Connected to receiver", identifier)
log("Connected to relay", identifier)
self._connections[identifier] = ws
try:
async for msg in ws:
self._relay(msg)
except (ConnectionClosed, ConnectionClosedError):
del self._connections[identifier]
log(f"Lost connection to receiver", identifier, level=1)
log(f"Lost connection to relay", identifier, level=1)
continue
async def _conn_from_node_or_client(self, ws: ServerConnection):
@ -68,18 +68,18 @@ class Node:
del self._connections[identifier]
async def run(self):
# connect to receivers
receiver_tasks = []
for r in self.receivers:
t = asyncio.create_task(self._conn_to_receiver(r))
receiver_tasks.append(t)
# connect to relays
relay_tasks = []
for r in self.relays:
t = asyncio.create_task(self._conn_to_relay(r))
relay_tasks.append(t)
# server loop
async with serve(self._conn_from_node_or_client, self.listen_address.host, self.listen_address.port) as server:
loop = asyncio.get_running_loop()
def _close():
log("Cancelling receiver connections")
for r in receiver_tasks:
log("Cancelling relay connections")
for r in relay_tasks:
r.cancel()
log("Closing server...")
server.close()
@ -91,7 +91,7 @@ class Node:
def node_from_yml(yml_data: str) -> Node:
d = yml_load(yml_data)
listen_address = NodeAddr(d["listen"]["host"], d["listen"]["port"])
receivers = []
for e in d["receivers"]:
receivers.append(NodeAddr(e["host"], e["port"]))
return Node(listen_address, receivers)
relays = []
for e in d["relays"]:
relays.append(NodeAddr(e["host"], e["port"]))
return Node(listen_address, relays)

View file

@ -1,6 +1,6 @@
listen:
host: 0.0.0.0
port: 7000
receivers:
relays:
- host: 127.0.1.1
port: 7000