fix(connector.py): avoid recursion on failure in send()

This commit is contained in:
2025-08-30 18:28:46 +02:00
parent f89d9c41f8
commit 6efc7754f9

View File

@@ -100,17 +100,18 @@ class Connector:
def send(self, data: bytes) -> None: def send(self, data: bytes) -> None:
self.logger.debug(f"[>] Sending data: {data}") self.logger.debug(f"[>] Sending data: {data}")
try: while True:
self.socket.sendall(data) try:
self.logger.info("[>] Data sent") self.socket.sendall(data)
self._send_ack() self.logger.info("[>] Data sent")
except BrokenPipeError as e: self._send_ack()
self.logger.error(f"[!] Broken pipe: {e}") break
self.logger.info("[.] Reconnecting...") except BrokenPipeError as e:
self.connect() self.logger.error(f"[!] Broken pipe: {e}")
self.send(data) self.logger.info("[.] Reconnecting...")
except (socket.error, ValueError) as e: self.connect()
self.logger.error(f"[!] Failed to send data: {e}") except (socket.error, ValueError) as e:
self.logger.error(f"[!] Failed to send data: {e}")
def receive(self) -> bytes: def receive(self) -> bytes:
self.logger.debug("[.] Waiting to receive data...") self.logger.debug("[.] Waiting to receive data...")