Files
picar/car/Messaging/messages.py
Piv e577ad4011 Add 'car/' from commit 'eee0e8dc445691e600680f4abc77f2814b20b054'
git-subtree-dir: car
git-subtree-mainline: 1d29a5526c
git-subtree-split: eee0e8dc44
2020-04-19 11:07:44 +09:30

35 lines
772 B
Python

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=None, message=None):
super().__init__(message)
self._type = proto_type
def serialise(self):
return self.message.SerializeToString()
def deserialise(self, message):
return ProtoMessage(self._type, self._type.ParseFromString(message))