Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
MailboxPtr looks like a smart pointer, but it's not. Kill it.
[simgrid.git] / examples / s4u / app-masterworkers / s4u-app-masterworkers-fun.cpp
index fefc90c..40780fc 100644 (file)
@@ -19,7 +19,7 @@ static void master(std::vector<std::string> args)
   long tasks_count          = std::stol(args[1]);
   double compute_cost       = std::stod(args[2]);
   double communication_cost = std::stod(args[3]);
-  std::vector<simgrid::s4u::MailboxPtr> workers;
+  std::vector<simgrid::s4u::Mailbox*> workers;
   for (unsigned int i = 4; i < args.size(); i++)
     workers.push_back(simgrid::s4u::Mailbox::by_name(args[i]));
 
@@ -27,7 +27,7 @@ static void master(std::vector<std::string> args)
 
   for (int i = 0; i < tasks_count; i++) { /* For each task to be executed: */
     /* - Select a worker in a round-robin way */
-    simgrid::s4u::MailboxPtr mailbox = workers[i % workers.size()];
+    simgrid::s4u::Mailbox* mailbox = workers[i % workers.size()];
 
     /* - Send the computation cost to that worker */
     XBT_INFO("Sending task %d of %ld to mailbox '%s'", i, tasks_count, mailbox->get_cname());
@@ -37,7 +37,7 @@ static void master(std::vector<std::string> args)
   XBT_INFO("All tasks have been dispatched. Request all workers to stop.");
   for (unsigned int i = 0; i < workers.size(); i++) {
     /* The workers stop when receiving a negative compute_cost */
-    simgrid::s4u::MailboxPtr mailbox = workers[i % workers.size()];
+    simgrid::s4u::Mailbox* mailbox = workers[i % workers.size()];
 
     mailbox->put(new double(-1.0), 0);
   }
@@ -50,7 +50,7 @@ static void worker(std::vector<std::string> args)
   xbt_assert(args.size() == 1, "The worker expects no argument");
 
   simgrid::s4u::Host* my_host      = simgrid::s4u::this_actor::get_host();
-  simgrid::s4u::MailboxPtr mailbox = simgrid::s4u::Mailbox::by_name(my_host->get_name());
+  simgrid::s4u::Mailbox* mailbox   = simgrid::s4u::Mailbox::by_name(my_host->get_name());
 
   double compute_cost;
   do {