feat(connector.py): ensure sent data is ACK'd in send()

This commit is contained in:
2025-08-30 18:33:21 +02:00
parent 6efc7754f9
commit 5d5dbd371f

View File

@@ -104,14 +104,21 @@ class Connector:
try:
self.socket.sendall(data)
self.logger.info("[>] Data sent")
self._send_ack()
break
acknowledged: bool = self._check_ack()
if acknowledged:
self.logger.debug("[.] Data acknowledged")
break
else:
self.logger.warning(
"[!] Data not acknowledged, retrying..."
)
except BrokenPipeError as e:
self.logger.error(f"[!] Broken pipe: {e}")
self.logger.info("[.] Reconnecting...")
self.connect()
except (socket.error, ValueError) as e:
self.logger.error(f"[!] Failed to send data: {e}")
time.sleep(1)
def receive(self) -> bytes:
self.logger.debug("[.] Waiting to receive data...")