- simgrid::s4u::Link::on_communicate.connect([](const simgrid::kernel::resource::NetworkAction& action) {
- auto const* actionWifi = dynamic_cast<const simgrid::kernel::resource::NetworkWifiAction*>(&action);
-
- if (actionWifi == nullptr)
- return;
-
- auto const* link_src = actionWifi->get_src_link();
- auto const* link_dst = actionWifi->get_dst_link();
-
- if(link_src != nullptr)
- link_src->get_iface()->extension<LinkEnergyWifi>()->update(action);
- if(link_dst != nullptr)
- link_dst->get_iface()->extension<LinkEnergyWifi>()->update(action);
- });
+ simgrid::kernel::activity::CommImpl::on_start.connect(&on_communication);
+ simgrid::kernel::activity::CommImpl::on_completion.connect(&on_communication);