refactoring: moving initialisation of socketio client into separate function

This commit is contained in:
Mose Müller 2025-05-20 15:56:33 +02:00
parent 5dec01d800
commit 9920350753

View File

@ -134,6 +134,16 @@ class Client:
def connect(self, block_until_connected: bool = True) -> None:
if self._thread is None or self._loop is None:
self._initialize_socketio_client()
self._loop = self._initialize_loop_and_thread()
connection_future = asyncio.run_coroutine_threadsafe(
self._connect(), self._loop
)
if block_until_connected:
connection_future.result()
def _initialize_socketio_client(self) -> None:
if self._proxy_url is not None:
session = aiohttp.ClientSession(
connector=aiohttp_socks.connector.ProxyConnector.from_url(
@ -147,14 +157,6 @@ class Client:
else:
self._sio = socketio.AsyncClient(**self._sio_client_kwargs)
self._loop = self._initialize_loop_and_thread()
connection_future = asyncio.run_coroutine_threadsafe(
self._connect(), self._loop
)
if block_until_connected:
connection_future.result()
def _initialize_loop_and_thread(self) -> asyncio.AbstractEventLoop:
"""Initialize a new asyncio event loop, start it in a background thread,
and create the ProxyClass instance bound to that loop.