@@ -58,19 +58,21 @@ def setReconnectRCId(self, rc_id: str):
5858 self .reconnect_keep_alive_ms = 0
5959 def validateConnection (self ) -> bool :
6060 #print("validateConnection")
61- diff_ms = - 1
61+ keep_alive_diff_ms = None
6262 need_reconnect = False
6363 if self .last_keep_alive_ms > 0 :
6464 now = time .ticks_ms ()
65- diff_ms = now - self .last_keep_alive_ms
66- if diff_ms > _RECONNECT_NO_KEEP_ALIVE_MS :
65+ keep_alive_diff_ms = now - self .last_keep_alive_ms
66+ if keep_alive_diff_ms > _RECONNECT_NO_KEEP_ALIVE_MS :
6767 need_reconnect = True
6868 if True :
6969 if need_reconnect :
7070 if self .reconnect_enabled :
71- print ("disconnected ... reconnecting ... " , self .reconnect_RC_id , diff_ms )
71+ # reconnecting not working yet
72+ print (f"disconnected { self .reconnect_RC_id } ... for { keep_alive_diff_ms } ms" )
73+ #print("disconnected ... reconnecting ... ", self.reconnect_RC_id, diff_ms)
7274 else :
73- print ("disconnected" )
75+ print (f "disconnected ... for { keep_alive_diff_ms } ms " )
7476 if need_reconnect :
7577 self .reconnecting = True
7678 if need_reconnect and self .reconnect_enabled :
@@ -88,7 +90,7 @@ def validateConnection(self) -> bool:
8890 #_ConnectVersion = _ConnectVersion + 1;
8991 self .reconnect_keep_alive_ms = 0
9092 self .last_keep_alive_ms = time .ticks_ms ()
91- return not need_reconnect
93+ return ( need_reconnect , keep_alive_diff_ms )
9294 def isReconnecting (self ) -> bool :
9395 return self .reconnecting ;
9496
@@ -152,7 +154,7 @@ def release(self):
152154 # pass
153155 # def switchDebugLed(self, on):
154156 # pass
155- def onDetectedDisconnect (self ):
157+ def onDetectedDisconnect (self , for_ms : int ):
156158 pass
157159 def onSendCommandException (self , error ):
158160 pass
@@ -327,8 +329,9 @@ def _checkForFeedback(self):
327329 except :
328330 pass
329331 def _readFeedback (self ) -> str :
330- if not self ._validateConnection ():
331- self .onDetectedDisconnect ()
332+ (need_reconnect , keep_alive_diff_ms ) = self ._validateConnection ()
333+ if need_reconnect :
334+ self .onDetectedDisconnect (keep_alive_diff_ms )
332335 if not self ._connected_iop .available ():
333336 return None
334337 feedback = self ._connected_iop .read ()
@@ -343,11 +346,11 @@ def _validateConnection(self):
343346 now = time .ticks_ms ()
344347 diff_ms = now - self .last_validate_ms
345348 if diff_ms >= validate_gap :
346- res = self ._connected_iop .validateConnection ()
349+ ( need_reconnect , keep_alive_diff_ms ) = self ._connected_iop .validateConnection ()
347350 self .last_validate_ms = now
348351 else :
349- res = True
350- return res
352+ ( need_reconnect , keep_alive_diff_ms ) = ( None , None )
353+ return ( need_reconnect , keep_alive_diff_ms )
351354 def _setReconnectRCId (self , rc_id : str ):
352355 if self ._connected_iop :
353356 self ._connected_iop .setReconnectRCId (rc_id )
0 commit comments