Fix default message, and change deserialiser and submit constructor
This commit is contained in:
@@ -1,7 +1,9 @@
|
|||||||
import umsgpack
|
import umsgpack
|
||||||
|
import uuid
|
||||||
|
|
||||||
class Message:
|
class Message:
|
||||||
def __init__(self, sender = "", data = {}}):
|
_type = None
|
||||||
|
def __init__(self, sender = "", data = {}):
|
||||||
self._sender = sender
|
self._sender = sender
|
||||||
self._data = data
|
self._data = data
|
||||||
|
|
||||||
@@ -9,6 +11,10 @@ class Message:
|
|||||||
def sender(self):
|
def sender(self):
|
||||||
return self._sender
|
return self._sender
|
||||||
|
|
||||||
|
@sender.setter
|
||||||
|
def sender(self, value):
|
||||||
|
self._sender = value
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def data(self):
|
def data(self):
|
||||||
return self._data
|
return self._data
|
||||||
@@ -24,12 +30,18 @@ class Message:
|
|||||||
def serialise(self):
|
def serialise(self):
|
||||||
return umsgpack.packb({"type":self.type, "sender": self.sender, "data": self.data})
|
return umsgpack.packb({"type":self.type, "sender": self.sender, "data": self.data})
|
||||||
|
|
||||||
def deserialise(self, obj):
|
def deserialise(obj):
|
||||||
unpacked = umsgpack.unpackb(obj)
|
'''
|
||||||
self.type = unpacked["type"]
|
Deserialises a given messagepack object into a Message.
|
||||||
self.sender = unpacked["sender"]
|
'''
|
||||||
self.data = unpacked["data"]
|
m = Message()
|
||||||
return self
|
unpacked = umsgpack.unpackb(obj)
|
||||||
|
print('Unpacked Object')
|
||||||
|
print(unpacked)
|
||||||
|
m.type = unpacked["type"]
|
||||||
|
m._sender = unpacked["sender"]
|
||||||
|
m._data = unpacked["data"]
|
||||||
|
return m
|
||||||
|
|
||||||
class RequestLeader(Message):
|
class RequestLeader(Message):
|
||||||
_type = "RequestLeader"
|
_type = "RequestLeader"
|
||||||
@@ -61,6 +73,10 @@ class CommanderWill(Message):
|
|||||||
class SubmitVote(Message):
|
class SubmitVote(Message):
|
||||||
_type = "vote"
|
_type = "vote"
|
||||||
|
|
||||||
|
def __init__(self, vote = None, sender = "", data = {}):
|
||||||
|
Message.__init__(self, sender, data)
|
||||||
|
self._data["vote"] = vote
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def vote(self):
|
def vote(self):
|
||||||
return self._data["vote"]
|
return self._data["vote"]
|
||||||
@@ -69,4 +85,5 @@ class SubmitVote(Message):
|
|||||||
def vote(self, value):
|
def vote(self, value):
|
||||||
self._data["vote"] = value
|
self._data["vote"] = value
|
||||||
|
|
||||||
|
class GetSwarmParticipants(Message):
|
||||||
|
_type = "listening"
|
||||||
Reference in New Issue
Block a user