X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/934c7199cc463b3ec279ca0bf4091db8c9593916..a4a0b7a61683f71695edc5b66c554d209311699f:/examples/s4u/dht-chord/s4u_dht-chord.hpp diff --git a/examples/s4u/dht-chord/s4u_dht-chord.hpp b/examples/s4u/dht-chord/s4u_dht-chord.hpp index 7ff0be3b35..c3a3a53f31 100644 --- a/examples/s4u/dht-chord/s4u_dht-chord.hpp +++ b/examples/s4u/dht-chord/s4u_dht-chord.hpp @@ -1,5 +1,4 @@ -/* Copyright (c) 2016. The SimGrid Team. -* All rights reserved. */ +/* Copyright (c) 2016-2017. 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. */ @@ -33,7 +32,7 @@ public: explicit HostChord(simgrid::s4u::Host* ptr) : host(ptr) { - std::string descr = std::string("RngSream<") + host->name() + ">"; + std::string descr = std::string("RngSream<") + host->cname() + ">"; stream_ = RngStream_CreateStream(descr.c_str()); } @@ -64,7 +63,10 @@ public: int answer_id = -1; // answer (used by some types of messages) simgrid::s4u::MailboxPtr answer_to; // mailbox to send an answer to (if any) - ChordMessage(e_message_type_t type) : type(type) { issuer_host_name = simgrid::s4u::this_actor::host()->name(); } + explicit ChordMessage(e_message_type_t type) : type(type) + { + issuer_host_name = simgrid::s4u::this_actor::host()->name(); + } ~ChordMessage() = default; }; @@ -116,11 +118,11 @@ public: join(known_id_); } - if (!joined) + if (not joined) return; ChordMessage* message = nullptr; void* data = nullptr; - double now = simgrid::s4u::Engine::instance()->getClock(); + double now = simgrid::s4u::Engine::getClock(); double next_stabilize_date = start_time_ + PERIODIC_STABILIZE_DELAY; double next_fix_fingers_date = start_time_ + PERIODIC_FIX_FINGERS_DELAY; double next_check_predecessor_date = start_time_ + PERIODIC_CHECK_PREDECESSOR_DELAY; @@ -129,34 +131,36 @@ public: while ((now < (start_time_ + deadline_)) && now < MAX_SIMULATION_TIME) { data = nullptr; simgrid::s4u::Comm& comm_receive = simgrid::s4u::this_actor::irecv(mailbox_, &data); - while ((now < (start_time_ + deadline_)) && now < MAX_SIMULATION_TIME && !comm_receive.test()) { + while ((now < (start_time_ + deadline_)) && now < MAX_SIMULATION_TIME && not comm_receive.test()) { // no task was received: make some periodic calls if (now >= next_stabilize_date) { stabilize(); - next_stabilize_date = simgrid::s4u::Engine::instance()->getClock() + PERIODIC_STABILIZE_DELAY; + next_stabilize_date = simgrid::s4u::Engine::getClock() + PERIODIC_STABILIZE_DELAY; } else if (now >= next_fix_fingers_date) { fixFingers(); - next_fix_fingers_date = simgrid::s4u::Engine::instance()->getClock() + PERIODIC_FIX_FINGERS_DELAY; + next_fix_fingers_date = simgrid::s4u::Engine::getClock() + PERIODIC_FIX_FINGERS_DELAY; } else if (now >= next_check_predecessor_date) { checkPredecessor(); - next_check_predecessor_date = simgrid::s4u::Engine::instance()->getClock() + PERIODIC_CHECK_PREDECESSOR_DELAY; + next_check_predecessor_date = simgrid::s4u::Engine::getClock() + PERIODIC_CHECK_PREDECESSOR_DELAY; } else if (now >= next_lookup_date) { randomLookup(); - next_lookup_date = simgrid::s4u::Engine::instance()->getClock() + PERIODIC_LOOKUP_DELAY; + next_lookup_date = simgrid::s4u::Engine::getClock() + PERIODIC_LOOKUP_DELAY; } else { // nothing to do: sleep for a while simgrid::s4u::this_actor::sleep_for(SLEEP_DELAY); } - now = simgrid::s4u::Engine::instance()->getClock(); + now = simgrid::s4u::Engine::getClock(); } if (data != nullptr) { message = static_cast(data); handleMessage(message); } - now = simgrid::s4u::Engine::instance()->getClock(); + now = simgrid::s4u::Engine::getClock(); + } + if (data != nullptr) { + delete static_cast(data); } - // leave the ring leave(); }