Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
new MANIFEST.in after adding ns3 wifi
[simgrid.git] / src / plugins / link_energy.cpp
index e75c128cb2aef6bc0454b4f35d4d8a4061ddec51..a16cd8363c8763c8e3b22b90c5f1a59b549fab62 100644 (file)
@@ -4,8 +4,10 @@
  * under the terms of the license (GNU LGPL) which comes with this package. */
 
 #include "simgrid/Exception.hpp"
+#include "simgrid/host.h"
 #include "simgrid/plugins/energy.h"
 #include "simgrid/s4u/Engine.hpp"
+#include "simgrid/simix.hpp"
 #include "src/surf/network_interface.hpp"
 #include "src/surf/surf_interface.hpp"
 #include "surf/surf.hpp"
@@ -55,7 +57,7 @@ public:
   void update();
 
 private:
-  double get_power();
+  double get_power() const;
 
   s4u::Link* link_{};
 
@@ -123,7 +125,7 @@ void LinkEnergy::init_watts_range_list()
   }
 }
 
-double LinkEnergy::get_power()
+double LinkEnergy::get_power() const
 {
   if (!inited_)
     return 0.0;
@@ -148,16 +150,15 @@ double LinkEnergy::get_consumed_energy()
 using simgrid::plugin::LinkEnergy;
 
 /* **************************** events  callback *************************** */
-static void on_communicate(const simgrid::kernel::resource::NetworkAction& action, const simgrid::s4u::Host*,
-                           const simgrid::s4u::Host*)
+static void on_communicate(const simgrid::kernel::resource::NetworkAction& action)
 {
   XBT_DEBUG("onCommunicate is called");
-  for (simgrid::kernel::resource::LinkImpl* link : action.get_links()) {
+  for (auto const* link : action.get_links()) {
     if (link == nullptr || link->get_sharing_policy() == simgrid::s4u::Link::SharingPolicy::WIFI)
       continue;
 
     XBT_DEBUG("Update link %s", link->get_cname());
-    LinkEnergy* link_energy = link->get_iface()->extension<LinkEnergy>();
+    auto* link_energy = link->get_iface()->extension<LinkEnergy>();
     link_energy->init_watts_range_list();
     link_energy->update();
   }
@@ -168,7 +169,7 @@ static void on_simulation_end()
   std::vector<simgrid::s4u::Link*> links = simgrid::s4u::Engine::get_instance()->get_all_links();
 
   double total_energy = 0.0; // Total dissipated energy (whole platform)
-  for (const auto link : links) {
+  for (auto const* link : links) {
     if (link == nullptr || link->get_sharing_policy() == simgrid::s4u::Link::SharingPolicy::WIFI)
       continue;
 
@@ -220,7 +221,7 @@ void sg_link_energy_plugin_init()
   simgrid::s4u::Link::on_communication_state_change.connect(
       [](simgrid::kernel::resource::NetworkAction const& action,
          simgrid::kernel::resource::Action::State /* previous */) {
-        for (simgrid::kernel::resource::LinkImpl* link : action.get_links()) {
+        for (auto const* link : action.get_links()) {
           if (link != nullptr && link->get_sharing_policy() != simgrid::s4u::Link::SharingPolicy::WIFI)
             link->get_iface()->extension<LinkEnergy>()->update();
         }