-/* Copyright (c) 2017-2020. The SimGrid Team. All rights reserved. */
+/* Copyright (c) 2017-2021. 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. */
#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"
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();
}
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;
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();
}