From bf1ad0ead0e4fc35c20d0d747cca05388b223d35 Mon Sep 17 00:00:00 2001 From: Artur Borecki Date: Tue, 3 Mar 2026 20:55:09 +0100 Subject: [PATCH] feat(ack_handler.py): add handling for ACKs --- .../backend/handler/ack_handler.py | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 src/judas_server/backend/handler/ack_handler.py diff --git a/src/judas_server/backend/handler/ack_handler.py b/src/judas_server/backend/handler/ack_handler.py new file mode 100644 index 0000000..8204be0 --- /dev/null +++ b/src/judas_server/backend/handler/ack_handler.py @@ -0,0 +1,27 @@ +# -*- coding: utf-8 -*- + +from typing import TYPE_CHECKING + +from .base_handler import BaseHandler + +if TYPE_CHECKING: + from judas_protocol import Message + + from judas_server.backend import BackendServer, Client + + +class AckHandler(BaseHandler): + def __init__(self, backend_server: BackendServer) -> None: + super().__init__(backend_server) + + def handle(self, client: Client, message: Message) -> None: + pending_acks = self.backend_server.pending_acks + if message.id in pending_acks: + del pending_acks[message.id] + self.logger.debug( + f"[*] Received ACK for message {message.id} from {client}." + ) + else: + self.logger.warning( + f"[!] Received ACK for unknown (or ACK'd) message {message.id} from {client}." + )