@ -133,19 +133,19 @@ class IsoTpParallelQuery:
response_timeouts [ tx_addr ] = time . monotonic ( ) + self . response_pending_timeout
response_timeouts [ tx_addr ] = time . monotonic ( ) + self . response_pending_timeout
cloudlog . error ( f " iso-tp query response pending: { tx_addr } " )
cloudlog . error ( f " iso-tp query response pending: { tx_addr } " )
else :
else :
response_timeouts [ tx_addr ] = 0
request_done [ tx_addr ] = True
request_done [ tx_addr ] = True
cloudlog . error ( f " iso-tp query bad response: { tx_addr } - 0x { dat . hex ( ) } " )
cloudlog . error ( f " iso-tp query bad response: { tx_addr } - 0x { dat . hex ( ) } " )
# Break if all requests are done, we've timed out on all requests, or we've hit a max total timeout
# Mark request done if address timed out
if all ( request_done . values ( ) ) :
break
cur_time = time . monotonic ( )
cur_time = time . monotonic ( )
if cur_time - max ( response_timeouts . values ( ) ) > 0 :
for tx_addr in response_timeouts :
for tx_addr in msgs :
if cur_time - response_timeouts [ tx_addr ] > 0 :
if request_counter [ tx_addr ] > 0 and not request_done [ tx_addr ] :
if request_counter [ tx_addr ] > 0 and not request_done [ tx_addr ] :
cloudlog . error ( f " iso-tp query timeout after receiving response: { tx_addr } " )
cloudlog . error ( f " iso-tp query timeout after receiving response: { tx_addr } " )
request_done [ tx_addr ] = True
# Break if all requests are done (finished or timed out)
if all ( request_done . values ( ) ) :
break
break
if cur_time - start_time > total_timeout :
if cur_time - start_time > total_timeout :