Add stuff for messages.
This commit is contained in:
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))
|
||||
Reference in New Issue
Block a user