feat(ack_handler.py): add handling for ACKs
This commit is contained in:
27
src/judas_server/backend/handler/ack_handler.py
Normal file
27
src/judas_server/backend/handler/ack_handler.py
Normal file
@@ -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}."
|
||||
)
|
||||
Reference in New Issue
Block a user