X-Git-Url: http://bilbo.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/e94c2a7fc81a82998524aa55db075be69990d4ea..refs/heads/master:/docs/source/tuto_s4u/master-workers-lab1.cpp diff --git a/docs/source/tuto_s4u/master-workers-lab1.cpp b/docs/source/tuto_s4u/master-workers-lab1.cpp index 5caa2d4e83..5f9808538a 100644 --- a/docs/source/tuto_s4u/master-workers-lab1.cpp +++ b/docs/source/tuto_s4u/master-workers-lab1.cpp @@ -1,4 +1,4 @@ -/* Copyright (c) 2010-2018. The SimGrid Team. All rights reserved. */ +/* Copyright (c) 2010-2023. 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. */ @@ -29,9 +29,9 @@ static void master(std::vector args) for (int i = 0; i < tasks_count; i++) { /* For each task to be executed: */ /* - Select a worker in a round-robin way */ - std::string worker_rank = std::to_string(i % workers_count); - std::string mailbox_name = std::string("worker-") + worker_rank; - simgrid::s4u::MailboxPtr mailbox = simgrid::s4u::Mailbox::by_name(mailbox_name); + std::string worker_rank = std::to_string(i % workers_count); + std::string mailbox_name = "worker-" + worker_rank; + simgrid::s4u::Mailbox* mailbox = simgrid::s4u::Mailbox::by_name(mailbox_name); /* - Send the computation cost to that worker */ XBT_INFO("Sending task %d of %ld to mailbox '%s'", i, tasks_count, mailbox->get_cname()); @@ -41,8 +41,8 @@ static void master(std::vector args) XBT_INFO("All tasks have been dispatched. Request all workers to stop."); for (int i = 0; i < workers_count; i++) { /* The workers stop when receiving a negative compute_cost */ - std::string mailbox_name = std::string("worker-") + std::to_string(i); - simgrid::s4u::MailboxPtr mailbox = simgrid::s4u::Mailbox::by_name(mailbox_name); + std::string mailbox_name = "worker-" + std::to_string(i); + simgrid::s4u::Mailbox* mailbox = simgrid::s4u::Mailbox::by_name(mailbox_name); mailbox->put(new double(-1.0), 0); } @@ -53,18 +53,17 @@ static void worker(std::vector args) xbt_assert(args.size() == 2, "The worker expects a single argument"); long id = std::stol(args[1]); - const std::string mailbox_name = std::string("worker-") + std::to_string(id); - simgrid::s4u::MailboxPtr mailbox = simgrid::s4u::Mailbox::by_name(mailbox_name); + const std::string mailbox_name = "worker-" + std::to_string(id); + simgrid::s4u::Mailbox* mailbox = simgrid::s4u::Mailbox::by_name(mailbox_name); double compute_cost; do { - double* msg = static_cast(mailbox->get()); + double* msg = mailbox->get(); compute_cost = *msg; delete msg; if (compute_cost > 0) /* If compute_cost is valid, execute a computation of that cost */ simgrid::s4u::this_actor::execute(compute_cost); - } while (compute_cost > 0); /* Stop when receiving an invalid compute_cost */ XBT_INFO("Exiting now.");