rename receiver to relay
This commit is contained in:
parent
3348c53aea
commit
a1739c4b7a
2 changed files with 19 additions and 19 deletions
36
argh/node.py
36
argh/node.py
|
@ -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)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
listen:
|
||||
host: 0.0.0.0
|
||||
port: 7000
|
||||
receivers:
|
||||
relays:
|
||||
- host: 127.0.1.1
|
||||
port: 7000
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue