Rework whole TFW networking model

This commit is contained in:
Kristóf Tóth
2019-05-26 18:26:33 +02:00
parent 613919a5b6
commit 01d9003501
19 changed files with 155 additions and 279 deletions

View File

@@ -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

View File

@@ -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)

View File

@@ -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)