Source code for morse.core.multinode
import logging; logger = logging.getLogger("morse." + __name__)
from abc import ABCMeta, abstractmethod
[docs]class SimulationNodeClass (object):
""" Class defining the behaviour of a simulation node.
It will be used to synchronise the simulation when done
on two or more simulation nodes.
"""
# Make this an abstract class
__metaclass__ = ABCMeta
def __init__(self, name, server_address, server_port):
self.node_name = name
self.host = server_address
self.port = server_port
self.initialize()
def __del__(self):
self.finalize()
[docs] @abstractmethod
def initialize(self):
"""
Initialize the MORSE node.
"""
pass
[docs] @abstractmethod
def synchronize(self):
"""
Synchronize simulation nodes.
Publishes node's robots to the other simulation nodes and
update node's external robots from data published by other simulation
nodes.
"""
pass
[docs] @abstractmethod
def finalize(self):
"""
Finalize the MORSE node.
"""
pass