X-Git-Url: http://bilbo.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/5ed37babb2fa9097abe82df299c0aa259ed84d5a..501b1d3f4293a4a3c27ad38fd74e995584799576:/src/plugins/link_energy_wifi.cpp diff --git a/src/plugins/link_energy_wifi.cpp b/src/plugins/link_energy_wifi.cpp index be74ee658c..ec2e84ce34 100644 --- a/src/plugins/link_energy_wifi.cpp +++ b/src/plugins/link_energy_wifi.cpp @@ -4,12 +4,14 @@ * under the terms of the license (GNU LGPL) which comes with this package. */ #include +#include #include #include #include "src/kernel/activity/CommImpl.hpp" #include "src/kernel/resource/StandardLinkImpl.hpp" #include "src/kernel/resource/WifiLinkImpl.hpp" +#include "src/simgrid/module.hpp" #include #include @@ -186,7 +188,7 @@ void LinkEnergyWifi::update() * - if idle i.e. get_usage = 0, update P_{stat} * P_{tot} = P_{dyn}+P_{stat} */ - if (link_->get_usage() != 0.0) { + if (link_->get_load() != 0.0) { eDyn_ += /*duration * */ durUsage * ((host_count * pRx_) + pTx_); eStat_ += (duration - durUsage) * pIdle_ * (host_count + 1); XBT_DEBUG("eDyn += %f * ((%f * %f) + %f) | eDyn = %f (durusage =%f)", durUsage, host_count, pRx_, pTx_, eDyn_, @@ -264,9 +266,10 @@ void LinkEnergyWifi::init_watts_range_list() using simgrid::plugin::LinkEnergyWifi; /* **************************** events callback *************************** */ -static void on_communication(const simgrid::kernel::activity::CommImpl& comm) +static void on_communication(const simgrid::s4u::Comm& comm) { - for (const auto* link : comm.get_traversed_links()) { + const auto* pimpl = static_cast(comm.get_impl()); + for (auto const* link : pimpl->get_traversed_links()) { if (link != nullptr && link->get_sharing_policy() == simgrid::s4u::Link::SharingPolicy::WIFI) { auto* link_energy = link->extension(); XBT_DEBUG("Update %s on Comm Start/End", link->get_cname()); @@ -323,6 +326,6 @@ void sg_wifi_energy_plugin_init() } }); - simgrid::kernel::activity::CommImpl::on_start.connect(&on_communication); - simgrid::kernel::activity::CommImpl::on_completion.connect(&on_communication); + simgrid::s4u::Comm::on_start_cb(&on_communication); + simgrid::s4u::Comm::on_completion_cb(&on_communication); }