@@ -88,24 +88,21 @@ async def serve(self) -> None:
8888 """Serve messages from the websocket."""
8989 self ._reset_session_close_countdown ()
9090 try :
91- async with asyncio .TaskGroup () as tg :
92- try :
93- await self ._handle_messages_from_ws (tg )
94- except ConnectionClosed :
95- if self ._retry_connection_callback :
96- self ._task_manager .create_task (
97- self ._retry_connection_callback ()
98- )
99-
100- await self ._begin_close_session_countdown ()
101- logger .debug ("ConnectionClosed while serving" , exc_info = True )
102- except FailedSendingMessageException :
103- # Expected error if the connection is closed.
104- logger .debug (
105- "FailedSendingMessageException while serving" , exc_info = True
106- )
107- except Exception :
108- logger .exception ("caught exception at message iterator" )
91+ try :
92+ await self ._handle_messages_from_ws ()
93+ except ConnectionClosed :
94+ if self ._retry_connection_callback :
95+ self ._task_manager .create_task (self ._retry_connection_callback ())
96+
97+ await self ._begin_close_session_countdown ()
98+ logger .debug ("ConnectionClosed while serving" , exc_info = True )
99+ except FailedSendingMessageException :
100+ # Expected error if the connection is closed.
101+ logger .debug (
102+ "FailedSendingMessageException while serving" , exc_info = True
103+ )
104+ except Exception :
105+ logger .exception ("caught exception at message iterator" )
109106 except ExceptionGroup as eg :
110107 _ , unhandled = eg .split (lambda e : isinstance (e , ConnectionClosed ))
111108 if unhandled :
@@ -118,9 +115,10 @@ async def _update_book_keeping(self, msg: TransportMessage) -> None:
118115 await self ._remove_acked_messages_in_buffer ()
119116 self ._reset_session_close_countdown ()
120117
121- async def _handle_messages_from_ws (
122- self , tg : asyncio .TaskGroup | None = None
123- ) -> None :
118+ async def _remove_acked_messages_in_buffer (self ) -> None :
119+ await self ._buffer .remove_old_messages (self ._seq_manager .receiver_ack )
120+
121+ async def _handle_messages_from_ws (self ) -> None :
124122 logger .debug (
125123 "%s start handling messages from ws %s" ,
126124 "client" ,
0 commit comments