Add stuff for messages.
This commit is contained in:
@@ -31,10 +31,15 @@ class ZmqPubSubStreamer(Streamer):
|
||||
# pass it into a thread.
|
||||
pass
|
||||
|
||||
def send_message(self, message_bytes):
|
||||
def send_message(self, message):
|
||||
'''
|
||||
Args
|
||||
----
|
||||
message: A message type that has the serialise() method.
|
||||
'''
|
||||
pass
|
||||
|
||||
def send_message_topic(self, topic, message_bytes):
|
||||
def send_message_topic(self, topic, message):
|
||||
pass
|
||||
|
||||
|
||||
|
||||
34
Messaging/messages.py
Normal file
34
Messaging/messages.py
Normal file
@@ -0,0 +1,34 @@
|
||||
import umsgpack
|
||||
|
||||
|
||||
class Message():
|
||||
def __init__(self, message=None):
|
||||
self.message = message
|
||||
|
||||
def serialise(self):
|
||||
raise NotImplementedError
|
||||
|
||||
def deserialise(self, message):
|
||||
raise NotImplementedError
|
||||
|
||||
|
||||
class PackMessage(Message):
|
||||
|
||||
def serialise(self):
|
||||
return umsgpack.packb(self.message)
|
||||
|
||||
def deserialise(self, message):
|
||||
return PackMessage(umsgpack.unpackb(self.message))
|
||||
|
||||
|
||||
class ProtoMessage(Message):
|
||||
|
||||
def __init__(self, proto_type, message=None):
|
||||
Message(message)
|
||||
self._type = proto_type
|
||||
|
||||
def serialise(self):
|
||||
return self.message.SerializeToString()
|
||||
|
||||
def deserialise(self, message):
|
||||
return ProtoMessage(self._type, self._type.ParseFromString(message))
|
||||
@@ -1,14 +0,0 @@
|
||||
import umsgpack
|
||||
from Messaging.messaginginterface import Message
|
||||
|
||||
class PackMessage(Message):
|
||||
|
||||
def __init__(self, message=None):
|
||||
self.message = message
|
||||
|
||||
def serialise(self):
|
||||
return umsgpack.packb(self.message)
|
||||
|
||||
def deserialise(self):
|
||||
return umsgpack.unpackb(self.message)
|
||||
|
||||
Reference in New Issue
Block a user