refactor: Change MuxRPC.__await__ MuxRPC.process_messages

`__await__` can be a bit dangerous in the world of `asyncio`.
This commit is contained in:
Gergely Polonkai 2023-11-13 13:18:12 +01:00
parent 3b2c5cc792
commit 69433cab86
No known key found for this signature in database
GPG Key ID: 2D2885533B869ED4
2 changed files with 6 additions and 2 deletions

View File

@ -105,7 +105,7 @@ async def main(keypair):
packet_stream = PacketStream(client)
await client.open()
api.add_connection(packet_stream)
await gather(ensure_future(api), test_client())
await gather(ensure_future(api.process_messages()), test_client())
if __name__ == "__main__":

View File

@ -155,11 +155,15 @@ class MuxRPCAPI:
self.handlers = {}
self.connection = None
async def __await__(self):
async def process_messages(self):
"""Continuously process incoming messages"""
async for req_message in self.connection:
body = req_message.body
if req_message is None:
return
if isinstance(body, dict) and body.get("name"):
self.process(self.connection, MuxRPCRequest.from_message(req_message))