# Actors that are created as object will execute their __call__ method.
# So, the following constitutes the main function of the Sender actor.
def __call__(self):
- pending_comms = []
+ pending_comms = simgrid.ActivitySet()
mboxes = []
for host in self.hosts:
msg = "Hello, I'm alive and running on " + simgrid.this_actor.get_host().name
mbox = simgrid.Mailbox.by_name(host.name)
mboxes.append(mbox)
- pending_comms.append(mbox.put_async(msg, self.msg_size))
+ pending_comms.push(mbox.put_async(msg, self.msg_size))
simgrid.this_actor.info("Done dispatching all messages")
# Now that all message exchanges were initiated, wait for their completion in one single call
- simgrid.Comm.wait_all(pending_comms)
+ pending_comms.wait_all()
simgrid.this_actor.info("Goodbye now!")
host = host_zone.create_host(cpu_name, speed).seal()
# the first CPU is the gateway
if i == 0:
- gateway = host
+ gateway = host.netpoint
# create split-duplex link
link = host_zone.create_split_duplex_link("link-" + cpu_name, link_bw)
link.set_latency(link_lat).seal()
# connecting CPU to outer world
- host_zone.add_route(host.netpoint, None, None, None,
- [simgrid.LinkInRoute(link, simgrid.LinkInRoute.Direction.UP)], True)
+ host_zone.add_route(host, None, [simgrid.LinkInRoute(link, simgrid.LinkInRoute.Direction.UP)], True)
# seal newly created netzone
host_zone.seal()
- return host_zone.netpoint, gateway.netpoint
+ return host_zone.netpoint, gateway
#####################################################################################################