@@ -71,8 +71,6 @@ def __init__(
7171 self ._rate_limiter = LeakyBucketRateLimit (
7272 transport_options .connection_retry_options
7373 )
74- # We want to make sure there's only one session creation at a time
75- self ._create_session_lock = asyncio .Lock ()
7674
7775 async def _close_session (self ) -> None :
7876 logger .info (f"start closing session { self ._transport_id } " )
@@ -94,29 +92,28 @@ async def get_or_create_session(self) -> Session:
9492 If we have a "closed" session, mint a whole new session.
9593 If we have a disconnected session, attempt to start a new WS and use it.
9694 """
97- async with self ._create_session_lock :
98- existing_session = self ._session
99- if not existing_session :
100- logger .info ("Creating new session" )
101- new_session = Session (
102- transport_id = self ._transport_id ,
103- to_id = self ._server_id ,
104- session_id = self .generate_nanoid (),
105- transport_options = self ._transport_options ,
106- close_session_callback = self ._delete_session ,
107- retry_connection_callback = self ._retry_connection ,
108- )
95+ existing_session = self ._session
96+ if not existing_session :
97+ logger .info ("Creating new session" )
98+ new_session = Session (
99+ transport_id = self ._transport_id ,
100+ to_id = self ._server_id ,
101+ session_id = self .generate_nanoid (),
102+ transport_options = self ._transport_options ,
103+ close_session_callback = self ._delete_session ,
104+ retry_connection_callback = self ._retry_connection ,
105+ )
109106
110- self ._session = new_session
111- existing_session = new_session
112- await existing_session .start_serve_responses ()
107+ self ._session = new_session
108+ existing_session = new_session
109+ await existing_session .start_serve_responses ()
113110
114- await existing_session .ensure_connected (
115- client_id = self ._client_id ,
116- rate_limiter = self ._rate_limiter ,
117- uri_and_metadata_factory = self ._uri_and_metadata_factory ,
118- )
119- return existing_session
111+ await existing_session .ensure_connected (
112+ client_id = self ._client_id ,
113+ rate_limiter = self ._rate_limiter ,
114+ uri_and_metadata_factory = self ._uri_and_metadata_factory ,
115+ )
116+ return existing_session
120117
121118 async def _establish_new_connection (
122119 self ,
0 commit comments