X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/05810984c0687e49bfb10d17cac13479bfb2c0d0..65c756c0c3ce5659e16c2dfff3ad48784edda884:/examples/s4u/replay-comm/s4u-replay-comm.cpp diff --git a/examples/s4u/replay-comm/s4u-replay-comm.cpp b/examples/s4u/replay-comm/s4u-replay-comm.cpp index 5d5b515a4c..2152cb4624 100644 --- a/examples/s4u/replay-comm/s4u-replay-comm.cpp +++ b/examples/s4u/replay-comm/s4u-replay-comm.cpp @@ -1,4 +1,4 @@ -/* Copyright (c) 2009-2017. The SimGrid Team. All rights reserved. */ +/* Copyright (c) 2009-2018. 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. */ @@ -6,24 +6,23 @@ #include "simgrid/s4u.hpp" #include "xbt/replay.hpp" #include "xbt/str.h" +#include #include -XBT_LOG_NEW_DEFAULT_CATEGORY(replay, "Messages specific for this msg example"); +XBT_LOG_NEW_DEFAULT_CATEGORY(replay_comm, "Messages specific for this msg example"); #define ACT_DEBUG(...) \ - if (XBT_LOG_ISENABLED(replay, xbt_log_priority_verbose)) { \ - char* NAME = xbt_str_join_array(action, " "); \ + if (XBT_LOG_ISENABLED(replay_comm, xbt_log_priority_verbose)) { \ + std::string NAME = boost::algorithm::join(action, " "); \ XBT_DEBUG(__VA_ARGS__); \ - xbt_free(NAME); \ } else \ ((void)0) -static void log_action(const char* const* action, double date) +static void log_action(simgrid::xbt::ReplayAction& action, double date) { - if (XBT_LOG_ISENABLED(replay, xbt_log_priority_verbose)) { - char* name = xbt_str_join_array(action, " "); - XBT_VERB("%s %f", name, date); - xbt_free(name); + if (XBT_LOG_ISENABLED(replay_comm, xbt_log_priority_verbose)) { + std::string s = boost::algorithm::join(action, " "); + XBT_VERB("%s %f", s.c_str(), date); } } @@ -49,38 +48,40 @@ public: } /* My actions */ - static void compute(const char* const* action) + static void compute(simgrid::xbt::ReplayAction& action) { double amount = std::stod(action[2]); - double clock = simgrid::s4u::Engine::getClock(); - ACT_DEBUG("Entering %s", NAME); + double clock = simgrid::s4u::Engine::get_clock(); + ACT_DEBUG("Entering %s", NAME.c_str()); simgrid::s4u::this_actor::execute(amount); - log_action(action, simgrid::s4u::Engine::getClock() - clock); + log_action(action, simgrid::s4u::Engine::get_clock() - clock); } - static void send(const char* const* action) + static void send(simgrid::xbt::ReplayAction& action) { double size = std::stod(action[3]); std::string* payload = new std::string(action[3]); - double clock = simgrid::s4u::Engine::getClock(); - simgrid::s4u::MailboxPtr to = simgrid::s4u::Mailbox::byName(simgrid::s4u::this_actor::getName() + "_" + action[2]); - ACT_DEBUG("Entering Send: %s (size: %g) -- Actor %s on mailbox %s", NAME, size, - simgrid::s4u::this_actor::getCname(), to->getCname()); + double clock = simgrid::s4u::Engine::get_clock(); + simgrid::s4u::MailboxPtr to = + simgrid::s4u::Mailbox::by_name(simgrid::s4u::this_actor::get_name() + "_" + action[2]); + ACT_DEBUG("Entering Send: %s (size: %g) -- Actor %s on mailbox %s", NAME.c_str(), size, + simgrid::s4u::this_actor::get_cname(), to->get_cname()); to->put(payload, size); delete payload; - log_action(action, simgrid::s4u::Engine::getClock() - clock); + log_action(action, simgrid::s4u::Engine::get_clock() - clock); } - static void recv(const char* const* action) + static void recv(simgrid::xbt::ReplayAction& action) { - double clock = simgrid::s4u::Engine::getClock(); + double clock = simgrid::s4u::Engine::get_clock(); simgrid::s4u::MailboxPtr from = - simgrid::s4u::Mailbox::byName(std::string(action[2]) + "_" + simgrid::s4u::this_actor::getName()); + simgrid::s4u::Mailbox::by_name(std::string(action[2]) + "_" + simgrid::s4u::this_actor::get_name()); - ACT_DEBUG("Receiving: %s -- Actor %s on mailbox %s", NAME, simgrid::s4u::this_actor::getCname(), from->getCname()); + ACT_DEBUG("Receiving: %s -- Actor %s on mailbox %s", NAME.c_str(), simgrid::s4u::this_actor::get_cname(), + from->get_cname()); from->get(); - log_action(action, simgrid::s4u::Engine::getClock() - clock); + log_action(action, simgrid::s4u::Engine::get_clock() - clock); } }; @@ -95,11 +96,11 @@ int main(int argc, char* argv[]) "\tExample: %s msg_platform.xml msg_deployment.xml ", argv[0], argv[0], argv[0]); - e.loadPlatform(argv[1]); - e.registerDefault(&simgrid::xbt::replay_runner); - e.registerFunction("p0"); - e.registerFunction("p1"); - e.loadDeployment(argv[2]); + e.load_platform(argv[1]); + e.register_default(&simgrid::xbt::replay_runner); + e.register_actor("p0"); + e.register_actor("p1"); + e.load_deployment(argv[2]); /* Action registration */ xbt_replay_action_register("compute", Replayer::compute); @@ -117,7 +118,7 @@ int main(int argc, char* argv[]) simgrid::xbt::action_fs = nullptr; } - XBT_INFO("Simulation time %g", e.getClock()); + XBT_INFO("Simulation time %g", e.get_clock()); return 0; }