X-Git-Url: http://bilbo.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/a3963d5d61399ccf9810d0ce1745432afede2069..b7c53df18dcbf388f0dce6d7baa3086436028313:/src/plugins/link_energy_wifi.cpp diff --git a/src/plugins/link_energy_wifi.cpp b/src/plugins/link_energy_wifi.cpp index 8a227c3b21..acd2dc56d4 100644 --- a/src/plugins/link_energy_wifi.cpp +++ b/src/plugins/link_energy_wifi.cpp @@ -3,21 +3,15 @@ /* 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. */ -#include "simgrid/Exception.hpp" -#include "simgrid/plugins/energy.h" -#include "simgrid/s4u/Engine.hpp" -#include "simgrid/s4u/Host.hpp" -#include "simgrid/s4u/Link.hpp" +#include +#include +#include + #include "src/surf/network_interface.hpp" #include "src/surf/network_wifi.hpp" -#include "src/surf/surf_interface.hpp" -#include "surf/surf.hpp" -#include "src/kernel/lmm/maxmin.hpp" -#include "xbt/config.hpp" #include #include -#include SIMGRID_REGISTER_PLUGIN(link_energy_wifi, "Energy wifi test", &sg_wifi_energy_plugin_init); /** @defgroup plugin_link_energy_wifi Plugin WiFi energy @@ -104,8 +98,8 @@ xbt::Extension LinkEnergyWifi::EXTENSION_ID; void LinkEnergyWifi::update_destroy() { auto const* wifi_link = static_cast(link_->get_impl()); - double duration = surf_get_clock() - prev_update_; - prev_update_ = surf_get_clock(); + double duration = simgrid::s4u::Engine::get_clock() - prev_update_; + prev_update_ = simgrid::s4u::Engine::get_clock(); dur_idle_ += duration; @@ -120,8 +114,8 @@ void LinkEnergyWifi::update(const kernel::resource::NetworkAction&) { init_watts_range_list(); - double duration = surf_get_clock() - prev_update_; - prev_update_ = surf_get_clock(); + double duration = simgrid::s4u::Engine::get_clock() - prev_update_; + prev_update_ = simgrid::s4u::Engine::get_clock(); // we don't update for null durations if(duration < 1e-6) @@ -143,11 +137,10 @@ void LinkEnergyWifi::update(const kernel::resource::NetworkAction&) double durUsage = 0; while (const auto* var = wifi_link->get_constraint()->get_variable(&elem)) { auto* action = static_cast(var->get_id()); - XBT_DEBUG("cost: %f action value: %f link rate 1: %f link rate 2: %f", action->get_cost(), - action->get_variable()->get_value(), wifi_link->get_host_rate(&action->get_src()), - wifi_link->get_host_rate(&action->get_dst())); + XBT_DEBUG("cost: %f action value: %f link rate 1: %f link rate 2: %f", action->get_cost(), action->get_rate(), + wifi_link->get_host_rate(&action->get_src()), wifi_link->get_host_rate(&action->get_dst())); - if (action->get_variable()->get_value() != 0.0) { + if (action->get_rate() != 0.0) { auto it = flowTmp.find(action); // if the flow has not been registered, initialize it: 0 bytes sent, and not updated since its creation timestamp @@ -161,18 +154,18 @@ void LinkEnergyWifi::update(const kernel::resource::NetworkAction&) * If this is longer than the duration since the previous update, active duration = now - previous_update */ double du = // durUsage on the current flow - (action->get_cost() - it->second.first) / action->get_variable()->get_value(); + (action->get_cost() - it->second.first) / action->get_rate(); - if(du > surf_get_clock()-it->second.second) - du = surf_get_clock()-it->second.second; + if (du > simgrid::s4u::Engine::get_clock() - it->second.second) + du = simgrid::s4u::Engine::get_clock() - it->second.second; // if the flow has been more active than the others if(du > durUsage) durUsage = du; // update the amount of data already sent by the flow - it->second.first += du*action->get_variable()->get_value(); - it->second.second = surf_get_clock(); + it->second.first += du * action->get_rate(); + it->second.second = simgrid::s4u::Engine::get_clock(); // important: if the transmission finished, remove it (needed for performance and multi-message flows) if(it->second.first >= action->get_cost())