From 40c08d01693973f29f13c133a11fc5f166891a25 Mon Sep 17 00:00:00 2001 From: Artur Borecki Date: Sun, 8 Mar 2026 20:37:26 +0100 Subject: [PATCH] feat(initial_handler.py): add handler for `TELEMETRY/INTIIAL` msgs --- .../handler/telemetry/initial_handler.py | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 src/judas_server/backend/handler/telemetry/initial_handler.py diff --git a/src/judas_server/backend/handler/telemetry/initial_handler.py b/src/judas_server/backend/handler/telemetry/initial_handler.py new file mode 100644 index 0000000..eb25abc --- /dev/null +++ b/src/judas_server/backend/handler/telemetry/initial_handler.py @@ -0,0 +1,33 @@ +# -*- coding: utf-8 -*- +"""Initial telemetry handler.""" + +from __future__ import annotations + +from typing import TYPE_CHECKING + +from judas_protocol import Message + +from judas_server.backend.handler.base_handler import BaseHandler + +if TYPE_CHECKING: + from judas_server.backend import BackendServer + from judas_server.backend.client import Client + + +class InitialTelemetryHandler(BaseHandler): + """Handles the initial telemetry message from a client.""" + + def __init__(self, backend_server: BackendServer) -> None: + """Initialize the handler.""" + super().__init__(backend_server) + + def handle(self, client: Client, message: Message) -> None: + """Handle the initial telemetry message.""" + self.logger.debug( + f"Handling initial telemetry message from {client}..." + ) + + client.initial_telemetry = message.payload + self.backend_server.known_clients[client.id]["initial_telemetry"] = ( # type: ignore + message.payload + )