From 3814102936f5ba6f24e18583c1993f01188d0ac5 Mon Sep 17 00:00:00 2001 From: Mark Qvist Date: Fri, 22 May 2026 12:23:44 +0200 Subject: [PATCH] Changelog: Fixed regression in request response transfer size accumulator --- RNS/Link.py | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/RNS/Link.py b/RNS/Link.py index 451fcbf4..d556df24 100644 --- a/RNS/Link.py +++ b/RNS/Link.py @@ -903,21 +903,21 @@ class Link: identity_string = str(self.get_remote_identity()) if self.get_remote_identity() != None else "" RNS.log("Request "+RNS.prettyhexrep(request_id)+" from "+identity_string+" not allowed for: "+str(path), RNS.LOG_DEBUG) - def handle_response(self, request_id, response_data, response_size, response_transfer_size, metadata=None): + def handle_response(self, request_id, response_data, response_size, response_transfer_size, metadata=None, update_sizes=False): if self.status == Link.ACTIVE: remove = None for pending_request in self.pending_requests: if pending_request.request_id == request_id: remove = pending_request try: - pending_request.response_size = response_size - if pending_request.response_transfer_size == None: - pending_request.response_transfer_size = 0 - pending_request.response_transfer_size += response_transfer_size - pending_request.response_received(response_data, metadata) - except Exception as e: - RNS.log("Error occurred while handling response. The contained exception was: "+str(e), RNS.LOG_ERROR) + if update_sizes: + pending_request.response_size = response_size + if pending_request.response_transfer_size == None: pending_request.response_transfer_size = 0 + pending_request.response_transfer_size += response_transfer_size + pending_request.response_received(response_data, metadata) + + except Exception as e: RNS.log("Error occurred while handling response. The contained exception was: "+str(e), RNS.LOG_ERROR) break if remove != None: @@ -1047,7 +1047,7 @@ class Link: request_id = unpacked_response[0] response_data = unpacked_response[1] transfer_size = len(umsgpack.packb(response_data))-2 - def job(): self.handle_response(request_id, response_data, transfer_size, transfer_size) + def job(): self.handle_response(request_id, response_data, transfer_size, transfer_size, update_sizes=True) threading.Thread(target=job, daemon=True).start() self.__update_phy_stats(packet, query_shared=True) except Exception as e: