22 lines
642 B
Python
22 lines
642 B
Python
from abc import ABCMeta, abstractmethod
|
|
|
|
from robot_interface.endpoints.socket_base import SocketBase
|
|
|
|
|
|
class ReceiverBase(SocketBase, object):
|
|
"""Base class for receivers associated with a ZeroMQ socket."""
|
|
__metaclass__ = ABCMeta
|
|
|
|
@abstractmethod
|
|
def handle_message(self, message):
|
|
"""
|
|
Handle a message with the receiver.
|
|
|
|
:param message: The message to handle, must contain properties "endpoint" and "data".
|
|
:type message: dict
|
|
|
|
:return: A response message or None if this type of receiver doesn't publish.
|
|
:rtype: dict | None
|
|
"""
|
|
raise NotImplementedError()
|