diff --git a/src/judas_client/connector.py b/src/judas_client/connector.py index 5fd6ee0..bfa71d0 100644 --- a/src/judas_client/connector.py +++ b/src/judas_client/connector.py @@ -139,7 +139,16 @@ class Connector: def send_hello(self) -> None: self.logger.debug("[.] Sending hello message...") hello_message: Message = Message.hello(self.mac_address) - self.send(hello_message.to_bytes()) + acknowledged: bool = False + while not acknowledged: + self.send(hello_message.to_bytes()) + self.logger.debug("[.] Hello message sent, waiting for ACK...") + acknowledged = self._check_ack() + if not acknowledged: + self.logger.warning( + "[!] Hello message not acknowledged, retrying..." + ) + time.sleep(1) def _loop(self) -> None: self.logger.debug("Starting main loop...")