From 90f49a04e8b4f1152b5cc221c12e5a0ff3acbe2a Mon Sep 17 00:00:00 2001 From: holger krekel Date: Mon, 16 Dec 2024 20:01:37 +0100 Subject: [PATCH] small refactor --- python/tests/test_5_simulation.py | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/python/tests/test_5_simulation.py b/python/tests/test_5_simulation.py index 2a530aeb9..cfca17306 100644 --- a/python/tests/test_5_simulation.py +++ b/python/tests/test_5_simulation.py @@ -42,18 +42,24 @@ class Message: nums = repr_peers(self.recipients) return f"<{self.__class__.__name__} {self.sender.id}->{nums} {self.payload}" + def send(self): + for peer in self.sender.members: + peer.from2mailbox.setdefault(self.sender, []).append(self) + class AddMemberMessage(Message): def receive_imf(self, peer): peer.members.add(self.payload["newmember"]) peer.members.update(self.recipients) + class DelMemberMessage(Message): def receive_imf(self, peer): member = self.payload["member"] if member in peer.members: peer.members.remove(member) + class ChatMessage(Message): def receive_imf(self, peer): peer.members.update(self.recipients) @@ -87,30 +93,26 @@ class Peer: def add_member(self, newmember): self.members.add(newmember) message = AddMemberMessage(self, newmember=newmember) - self.queue_message(message) + message.send() def del_member(self, member): message = DelMemberMessage(self, member=member) - self.queue_message(message) + message.send() self.members.remove(member) def send_chatmessage(self): message = ChatMessage(self) - self.queue_message(message) - - def queue_message(self, message): - for peer in self.members: - peer.from2mailbox.setdefault(self, []).append(message) + message.send() ### processing group membership message + def drain_mailbox(peer, from_peer): for msg in peer.from2mailbox.get(from_peer, []): msg.receive_imf(peer) - ### Tests