void update();
private:
- double get_power();
+ double get_power() const;
s4u::Link* link_{};
}
}
-double LinkEnergy::get_power()
+double LinkEnergy::get_power() const
{
if (!inited_)
return 0.0;
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.links()) {
+ for (simgrid::kernel::resource::LinkImpl* link : action.get_links()) {
if (link == nullptr || link->get_sharing_policy() == simgrid::s4u::Link::SharingPolicy::WIFI)
continue;
link.extension<LinkEnergy>()->get_consumed_energy());
});
- 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.links()) {
- if (link != nullptr && link->get_sharing_policy() != simgrid::s4u::Link::SharingPolicy::WIFI)
- link->get_iface()->extension<LinkEnergy>()->update();
- }
- });
+ 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()) {
+ if (link != nullptr && link->get_sharing_policy() != simgrid::s4u::Link::SharingPolicy::WIFI)
+ link->get_iface()->extension<LinkEnergy>()->update();
+ }
+ });
simgrid::s4u::Link::on_communicate.connect(&on_communicate);
simgrid::s4u::Engine::on_simulation_end.connect(&on_simulation_end);