fix: update node state to RECEIVING only when it is not SENDING

This commit is contained in:
Youngjoon Lee 2024-05-21 19:55:34 +09:00
parent f82b93387b
commit 9e592bcc03
No known key found for this signature in database
GPG Key ID: 09B750B5BD6F08A2

View File

@ -31,14 +31,13 @@ class Adversary:
def observe_incoming_message(self, node: "Node"):
self.mixed_msgs_per_window[-1][node] += 1
# TODO: check duplications. Two events at the same time?
self.node_states[self.env.now][node] = NodeState.RECEIVING
if node not in self.node_states[self.env.now]:
self.node_states[self.env.now][node] = NodeState.RECEIVING
def observe_outgoing_message(self, node: "Node"):
self.mixed_msgs_per_window[-1][node] -= 1
if self.is_around_message_interval(self.env.now):
self.senders_around_interval[node] += 1
# TODO: check duplications. Two events at the same time?
self.node_states[self.env.now][node] = NodeState.SENDING
def is_around_message_interval(self, time: SimTime):