Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Enforce "Rule-of-Three/Five".
[simgrid.git] / examples / s4u / dht-chord / s4u-dht-chord.hpp
index 4e82016..7db25b1 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2016-2018. The SimGrid Team. All rights reserved.          */
+/* Copyright (c) 2016-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. */
@@ -8,20 +8,18 @@
 #include "simgrid/s4u.hpp"
 #include <string>
 #include <xbt/RngStream.h>
-#include <xbt/ex.hpp>
 #include <xbt/str.h>
 
-#define MAX_SIMULATION_TIME 1000
-#define PERIODIC_STABILIZE_DELAY 20
-#define PERIODIC_FIX_FINGERS_DELAY 120
-#define PERIODIC_CHECK_PREDECESSOR_DELAY 120
-#define PERIODIC_LOOKUP_DELAY 10
-#define SLEEP_DELAY 4.9999
+constexpr double MAX_SIMULATION_TIME              = 1000;
+constexpr double PERIODIC_STABILIZE_DELAY         = 20;
+constexpr double PERIODIC_FIX_FINGERS_DELAY       = 120;
+constexpr double PERIODIC_CHECK_PREDECESSOR_DELAY = 120;
+constexpr double PERIODIC_LOOKUP_DELAY            = 10;
+constexpr double SLEEP_DELAY                      = 4.9999;
 
 extern int nb_bits;
 extern int nb_keys;
 extern int timeout;
-extern int* powers2;
 
 class HostChord {
   RngStream stream_;
@@ -35,6 +33,8 @@ public:
     std::string descr = std::string("RngSream<") + host->get_cname() + ">";
     stream_           = RngStream_CreateStream(descr.c_str());
   }
+  HostChord(const HostChord&) = delete;
+  HostChord& operator=(const HostChord&) = delete;
 
   ~HostChord() { RngStream_DeleteStream(&stream_); };
 
@@ -125,7 +125,7 @@ public:
     if (not joined)
       return;
     void* data                         = nullptr;
-    double now                         = simgrid::s4u::Engine::getClock();
+    double now                         = simgrid::s4u::Engine::get_clock();
     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;
@@ -138,21 +138,21 @@ public:
         // no task was received: make some periodic calls
         if (now >= next_stabilize_date) {
           stabilize();
-          next_stabilize_date = simgrid::s4u::Engine::getClock() + PERIODIC_STABILIZE_DELAY;
+          next_stabilize_date = simgrid::s4u::Engine::get_clock() + PERIODIC_STABILIZE_DELAY;
         } else if (now >= next_fix_fingers_date) {
           fixFingers();
-          next_fix_fingers_date = simgrid::s4u::Engine::getClock() + PERIODIC_FIX_FINGERS_DELAY;
+          next_fix_fingers_date = simgrid::s4u::Engine::get_clock() + PERIODIC_FIX_FINGERS_DELAY;
         } else if (now >= next_check_predecessor_date) {
           checkPredecessor();
-          next_check_predecessor_date = simgrid::s4u::Engine::getClock() + PERIODIC_CHECK_PREDECESSOR_DELAY;
+          next_check_predecessor_date = simgrid::s4u::Engine::get_clock() + PERIODIC_CHECK_PREDECESSOR_DELAY;
         } else if (now >= next_lookup_date) {
           randomLookup();
-          next_lookup_date = simgrid::s4u::Engine::getClock() + PERIODIC_LOOKUP_DELAY;
+          next_lookup_date = simgrid::s4u::Engine::get_clock() + PERIODIC_LOOKUP_DELAY;
         } else {
           // nothing to do: sleep for a while
           simgrid::s4u::this_actor::sleep_for(SLEEP_DELAY);
         }
-        now = simgrid::s4u::Engine::getClock();
+        now = simgrid::s4u::Engine::get_clock();
       }
 
       if (data != nullptr) {
@@ -161,7 +161,7 @@ public:
         comm_receive = nullptr;
         data         = nullptr;
       }
-      now = simgrid::s4u::Engine::getClock();
+      now = simgrid::s4u::Engine::get_clock();
     }
     if (comm_receive != nullptr) {
       if (comm_receive->test())