From b7562703ddc82456859cb72da59e74b4bddf2dc9 Mon Sep 17 00:00:00 2001 From: Artur Borecki Date: Mon, 22 Sep 2025 21:17:41 +0200 Subject: [PATCH] fix(connector.py): handle multiple messages in one packet --- src/judas_client/connector.py | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/src/judas_client/connector.py b/src/judas_client/connector.py index 5da23ac..67ae1bc 100644 --- a/src/judas_client/connector.py +++ b/src/judas_client/connector.py @@ -167,8 +167,20 @@ class Connector: if not data: self.reconnect() continue - message = Message.from_bytes(data.strip()) - self.logger.info(f"[<] Message received: {message}") + for line in data.split(b"\n"): + line: bytes = line.strip() + + if not line: + continue + + self.logger.debug(f"[.] Raw message data: {line}") + try: + message: Message = Message.from_bytes(line) + except ValueError as e: + self.logger.error(f"[!] Failed to parse message: {e}") + continue + self.logger.info(f"[*] Message received: {message}") + # if self._check_ack(): # self.logger.debug("[.] ACK verified") # else: