daemon: moved SetQeueue into utils to be leveraged by others, updated MoveNodesStreamer to leverage SetQueue, this will allow a means to stream node movements, but if position changes happen faster than processing, the latest position will override prior pushes and the latest position will be pulled off the queue

This commit is contained in:
Blake Harnden 2022-04-28 16:12:31 -07:00
parent fe0bc2b405
commit aa8ea40ce6
4 changed files with 36 additions and 23 deletions

View file

@ -54,15 +54,16 @@ from core.api.grpc.wlan_pb2 import (
from core.api.grpc.wrappers import LinkOptions
from core.emulator.data import IpPrefixes
from core.errors import CoreError
from core.utils import SetQueue
logger = logging.getLogger(__name__)
class MoveNodesStreamer:
def __init__(self, session_id: int = None, source: str = None) -> None:
self.session_id = session_id
self.source = source
self.queue: Queue = Queue()
def __init__(self, session_id: int, source: str = None) -> None:
self.session_id: int = session_id
self.source: Optional[str] = source
self.queue: SetQueue = SetQueue()
def send_position(self, node_id: int, x: float, y: float) -> None:
position = wrappers.Position(x=x, y=y)