Add stuff for messages.

This commit is contained in:
Piv
2020-02-26 23:00:06 +10:30
parent 136c96a926
commit 6aa0f845ba
3 changed files with 41 additions and 16 deletions

34
Messaging/messages.py Normal file
View 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))