yield 0 in the broadcast func

This commit is contained in:
Youngjoon Lee 2024-05-15 17:21:31 +09:00
parent 373bab822c
commit 7492be95fb
No known key found for this signature in database
GPG Key ID: 09B750B5BD6F08A2

View File

@ -19,7 +19,10 @@ class P2p:
self.log("Broadcasting a msg: %d bytes" % len(msg))
self.message_sizes.append(len(msg))
yield self.env.timeout(1)
# Yield 0 to ensure that the broadcast is done in the same time step.
# Without this, SimPy complains that the broadcast func is not a generator.
yield self.env.timeout(0)
# TODO: gossipsub or something similar
for node in self.nodes:
self.env.process(node.receive_message(msg))