chore(release): 0.6.0 #14
41
src/judas_server/backend/handler/base_handler.py
Normal file
41
src/judas_server/backend/handler/base_handler.py
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
|
import logging as lg
|
||||||
|
from typing import TYPE_CHECKING
|
||||||
|
|
||||||
|
from judas_server.backend.client import Client
|
||||||
|
|
||||||
|
if TYPE_CHECKING:
|
||||||
|
from judas_protocol import Message
|
||||||
|
|
||||||
|
from judas_server.backend import BackendServer
|
||||||
|
|
||||||
|
|
||||||
|
class BaseHandler:
|
||||||
|
"""BaseHandler is the base class for all message handlers in the backend server.
|
||||||
|
|
||||||
|
It defines the interface for handling messages and provides common functionality for all handlers.
|
||||||
|
"""
|
||||||
|
|
||||||
|
def __init__(self, backend_server: BackendServer) -> None:
|
||||||
|
"""Initialize the BaseHandler with a reference to the backend server.
|
||||||
|
|
||||||
|
Args:
|
||||||
|
backend_server (BackendServer): The backend server instance that this handler belongs to.
|
||||||
|
"""
|
||||||
|
self.logger: lg.Logger = lg.getLogger(
|
||||||
|
f"{__name__}.{self.__class__.__name__}"
|
||||||
|
)
|
||||||
|
self.backend_server: BackendServer = backend_server
|
||||||
|
|
||||||
|
def handle(self, client: Client, message: Message) -> None:
|
||||||
|
"""Handle a message from a client.
|
||||||
|
|
||||||
|
This method must be implemented by subclasses to define the specific handling logic for different message types.
|
||||||
|
|
||||||
|
Args:
|
||||||
|
client (Client): The client that sent the message.
|
||||||
|
message (Message): The message to be handled.
|
||||||
|
"""
|
||||||
|
raise NotImplementedError("handle() must be implemented by subclasses")
|
||||||
Reference in New Issue
Block a user