File tree Expand file tree Collapse file tree 1 file changed +10
-12
lines changed Expand file tree Collapse file tree 1 file changed +10
-12
lines changed Original file line number Diff line number Diff line change @@ -76,6 +76,12 @@ async def close(self) -> None:
7676 self ._client = None
7777 await client .close ()
7878
79+ if self ._rx_task :
80+ task = self ._rx_task
81+ self ._rx_task = None
82+ task .cancel ()
83+ await task
84+
7985 @handle_error
8086 async def send (self , message : BaseMessage ) -> None :
8187 """Send a message."""
@@ -105,8 +111,8 @@ async def _receive_messages(self) -> None:
105111 if TYPE_CHECKING :
106112 assert self ._client
107113
108- try :
109- while self . connected :
114+ while self . connected :
115+ try :
110116 msg = await self ._client .receive ()
111117 match msg .type :
112118 case (
@@ -123,16 +129,8 @@ async def _receive_messages(self) -> None:
123129 self ._process_text_message (msg .data )
124130 case _:
125131 _LOGGER .warning ("Received unknown message: %s" , msg )
126- except Exception :
127- _LOGGER .exception ("Unexpected error while receiving message" )
128- raise
129- finally :
130- _LOGGER .debug (
131- "Websocket client connection from %s closed" , self ._server_url
132- )
133-
134- if self .connected :
135- await self .close ()
132+ except Exception : # pylint: disable=broad-except
133+ _LOGGER .exception ("Unexpected error while receiving message" )
136134
137135 def subscribe (self , callback : Callable [[BaseMessage ], None ]) -> Callable [[], None ]:
138136 """Subscribe to messages."""
You can’t perform that action at this time.
0 commit comments