diff --git a/src/judas_client/connector.py b/src/judas_client/connector.py index 2f9c21a..40a0c05 100644 --- a/src/judas_client/connector.py +++ b/src/judas_client/connector.py @@ -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...")