mirror of
https://github.com/avatao-content/baseimage-tutorial-framework
synced 2025-09-08 19:59:58 +00:00
Rework whole TFW networking model
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
# Copyright (C) 2018 Avatao.com Innovative Learning Kft.
|
||||
# All Rights Reserved. See LICENSE file for details.
|
||||
|
||||
from .event_handler_base import EventHandlerBase
|
||||
from .event_handler_base import EventHandlerBase, FrontendEventHandlerBase
|
||||
from .boradcasting_event_handler import BroadcastingEventHandler
|
||||
from .fsm_aware_event_handler import FSMAwareEventHandler
|
||||
|
@@ -4,6 +4,7 @@
|
||||
from abc import ABC
|
||||
|
||||
from tfw.event_handler_base.event_handler_base import EventHandlerBase
|
||||
from tfw.networking.event_handlers.server_connector import Scope
|
||||
from tfw.crypto import message_checksum
|
||||
|
||||
|
||||
@@ -27,4 +28,4 @@ class BroadcastingEventHandler(EventHandlerBase, ABC):
|
||||
response = self.dispatch_handling(message)
|
||||
if response:
|
||||
self.own_message_hashes.append(message_checksum(response))
|
||||
self.server_connector.broadcast(response)
|
||||
self.server_connector.send_message(response, Scope.BROADCAST)
|
||||
|
@@ -5,7 +5,7 @@ from abc import ABC, abstractmethod
|
||||
from inspect import currentframe
|
||||
from typing import Iterable
|
||||
|
||||
from tfw.networking.event_handlers.server_connector import ServerConnector
|
||||
from tfw.networking.event_handlers.server_connector import ServerConnector, Scope
|
||||
from tfw.config.logs import logging
|
||||
|
||||
LOG = logging.getLogger(__name__)
|
||||
@@ -48,7 +48,10 @@ class EventHandlerBase(ABC):
|
||||
|
||||
response = self.dispatch_handling(message)
|
||||
if response:
|
||||
self.server_connector.send(response)
|
||||
self.send_message(response)
|
||||
|
||||
def send_message(self, message):
|
||||
self.server_connector.send_message(message)
|
||||
|
||||
def check_key(self, message):
|
||||
"""
|
||||
@@ -128,3 +131,8 @@ class EventHandlerBase(ABC):
|
||||
instance for instance in locals_values
|
||||
if isinstance(instance, cls)
|
||||
}
|
||||
|
||||
|
||||
class FrontendEventHandlerBase(EventHandlerBase): # pylint: disable=abstract-method
|
||||
def send_message(self, message):
|
||||
self.server_connector.send_message(message, Scope.WEBSOCKET)
|
||||
|
Reference in New Issue
Block a user