-/* Copyright (c) 2010-2018. The SimGrid Team. All rights reserved. */
+/* Copyright (c) 2010-2019. The SimGrid Team. All rights reserved. */
/* This program is free software; you can redistribute it and/or modify it
* under the terms of the license (GNU LGPL) which comes with this package. */
/* This example shows how to block on the completion of a set of communications.
*
* As for the other asynchronous examples, the sender initiate all the messages it wants to send and
- * pack the resulting simgrid::s4u::CommPtr objects in a vector. All messages thus occurs concurrently.
+ * pack the resulting simgrid::s4u::CommPtr objects in a vector. All messages thus occur concurrently.
*
* The sender then blocks until all ongoing communication terminate, using simgrid::s4u::Comm::wait_all()
*
#include <iostream>
#include <string>
-XBT_LOG_NEW_DEFAULT_CATEGORY(msg_async_waitall, "Messages specific for this s4u example");
+XBT_LOG_NEW_DEFAULT_CATEGORY(s4u_async_waitall, "Messages specific for this s4u example");
class Sender {
long messages_count; /* - number of tasks */
std::vector<simgrid::s4u::CommPtr> pending_comms;
/* Make a vector of the mailboxes to use */
- std::vector<simgrid::s4u::MailboxPtr> mboxes;
+ std::vector<simgrid::s4u::Mailbox*> mboxes;
for (int i = 0; i < receivers_count; i++)
mboxes.push_back(simgrid::s4u::Mailbox::by_name(std::string("receiver-") + std::to_string(i)));
// sphinx-doc: init-end
pending_comms.push_back(comm);
}
- /* Start sending messages to let the workers know that they should stop */ // sphinx-doc: send-begin
+ /* Start sending messages to let the workers know that they should stop */ // sphinx-doc: put-begin
for (int i = 0; i < receivers_count; i++) {
XBT_INFO("Send 'finalize' to 'receiver-%d'", i);
simgrid::s4u::CommPtr comm = mboxes[i]->put_async(new std::string("finalize"), 0);
/* Now that all message exchanges were initiated, wait for their completion in one single call */
simgrid::s4u::Comm::wait_all(&pending_comms);
- // sphinx-doc: send-end
+ // sphinx-doc: put-end
XBT_INFO("Goodbye now!");
}
/* Receiver actor expects 1 argument: its ID */
class Receiver {
- simgrid::s4u::MailboxPtr mbox;
+ simgrid::s4u::Mailbox* mbox;
public:
explicit Receiver(std::vector<std::string> args)