From 5f2082c6e905632b879774d8714bbfdcba112b19 Mon Sep 17 00:00:00 2001 From: Salad Dais Date: Mon, 18 Dec 2023 21:32:25 +0000 Subject: [PATCH] Minor cleanup of asyncio usage --- hippolyzer/lib/base/events.py | 2 +- hippolyzer/lib/client/hippo_client.py | 13 ++++++++----- hippolyzer/lib/voice/client.py | 6 +++--- 3 files changed, 12 insertions(+), 9 deletions(-) diff --git a/hippolyzer/lib/base/events.py b/hippolyzer/lib/base/events.py index 7f785d8..55a6835 100644 --- a/hippolyzer/lib/base/events.py +++ b/hippolyzer/lib/base/events.py @@ -71,7 +71,7 @@ class Event: unsubscribe = await handler(args, *inner_args, **kwargs) if unsubscribe: self.unsubscribe(handler, *inner_args, **kwargs) - asyncio.get_event_loop().create_task(_run_handler_wrapper()) + asyncio.create_task(_run_handler_wrapper()) else: if handler(args, *inner_args, **kwargs) and not one_shot: self.unsubscribe(handler, *inner_args, **kwargs) diff --git a/hippolyzer/lib/client/hippo_client.py b/hippolyzer/lib/client/hippo_client.py index 748e7b4..163e060 100644 --- a/hippolyzer/lib/client/hippo_client.py +++ b/hippolyzer/lib/client/hippo_client.py @@ -202,7 +202,7 @@ class HippoClientRegion(BaseClientRegion): seed_resp.raise_for_status() self.update_caps(await seed_resp.read_llsd()) - self._eq_task = asyncio.get_event_loop().create_task(self._poll_event_queue()) + self._eq_task = asyncio.create_task(self._poll_event_queue()) except Exception as e: # Let consumers who were `await`ing the connected signal know there was an error if not self.connected.done(): @@ -364,10 +364,10 @@ class HippoClientSession(BaseClientSession): need_connect = (region.circuit and region.circuit.is_alive) or moving_to_region self.open_circuit(sim_addr) if need_connect: - asyncio.get_event_loop().create_task(region.connect(main_region=moving_to_region)) + asyncio.create_task(region.connect(main_region=moving_to_region)) elif moving_to_region: # No need to connect, but we do need to complete agent movement. - asyncio.get_event_loop().create_task(region.complete_agent_movement()) + asyncio.create_task(region.complete_agent_movement()) class HippoClient(BaseClientSessionManager): @@ -550,7 +550,10 @@ class HippoClient(BaseClientSessionManager): self.logout() finally: if self.http_session: - asyncio.get_event_loop_policy().get_event_loop().create_task(self.http_session.close) + try: + asyncio.create_task(self.http_session.close) + except: + pass self.http_session = None async def _create_transport(self) -> Tuple[AbstractUDPTransport, HippoClientProtocol]: @@ -695,7 +698,7 @@ class HippoClient(BaseClientSessionManager): return teleport_fut.set_result(None) - asyncio.get_event_loop().create_task(_handle_teleport()) + asyncio.create_task(_handle_teleport()) return teleport_fut diff --git a/hippolyzer/lib/voice/client.py b/hippolyzer/lib/voice/client.py index 9d5febe..7b8a51c 100644 --- a/hippolyzer/lib/voice/client.py +++ b/hippolyzer/lib/voice/client.py @@ -74,7 +74,7 @@ class VoiceClient: self._pos = Vector3(0, 0, 0) self.vivox_conn: Optional[VivoxConnection] = None - self._poll_task = asyncio.get_event_loop().create_task(self._poll_messages()) + self._poll_task = asyncio.create_task(self._poll_messages()) self.message_handler: MessageHandler[VivoxMessage, str] = MessageHandler(take_by_default=False) @property @@ -328,7 +328,7 @@ class VoiceClient: RESP_LOG.debug("%s %s %s %r" % ("Request", request_id, msg_type, data)) - asyncio.get_event_loop().create_task(self.vivox_conn.send_request(request_id, msg_type, data)) + asyncio.create_task(self.vivox_conn.send_request(request_id, msg_type, data)) future = asyncio.Future() self._pending_req_futures[request_id] = future return future @@ -355,7 +355,7 @@ class VoiceClient: self.message_handler.handle(msg) # Spin off handler tasks for each event so that we don't block polling - _ = asyncio.get_event_loop().create_task(self._dispatch_received_event(msg.name, msg.data)) + _ = asyncio.create_task(self._dispatch_received_event(msg.name, msg.data)) elif msg.type == "Response": # Might not have this request ID if it was sent directly via the socket if msg.request_id in self._pending_req_futures: