X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/3836e4e27a13a0d389812e41a4d5d651ff0c158b..6bffab333103f7f6c28905966b69889ae32b2d0f:/src/surf/network_interface.cpp diff --git a/src/surf/network_interface.cpp b/src/surf/network_interface.cpp index 856c3f9f72..7fdfce0d64 100644 --- a/src/surf/network_interface.cpp +++ b/src/surf/network_interface.cpp @@ -5,7 +5,9 @@ #include "network_interface.hpp" #include "simgrid/sg_config.hpp" +#include "src/instr/instr_private.hpp" // TRACE_is_enabled(). FIXME: remove by subscribing tracing to the surf signals #include "src/surf/surf_interface.hpp" +#include "surf/surf.hpp" #ifndef NETWORK_INTERFACE_CPP_ #define NETWORK_INTERFACE_CPP_ @@ -143,7 +145,7 @@ void LinkImpl::destroy() { if (not currentlyDestroying_) { currentlyDestroying_ = true; - s4u::Link::onDestruction(this->piface_); + s4u::Link::on_destruction(this->piface_); delete this; } } @@ -172,16 +174,26 @@ void LinkImpl::turn_on() { if (is_off()) { Resource::turn_on(); - s4u::Link::onStateChange(this->piface_); + s4u::Link::on_state_change(this->piface_); } } void LinkImpl::turn_off() { if (is_on()) { Resource::turn_off(); - s4u::Link::onStateChange(this->piface_); + s4u::Link::on_state_change(this->piface_); } } + +void LinkImpl::on_bandwidth_change() +{ + if (TRACE_categorized() || TRACE_uncategorized() || TRACE_platform()) + instr::Container::by_name(get_cname()) + ->get_variable("bandwidth") + ->set_event(surf_get_clock(), sg_bandwidth_factor * bandwidth_.scale * bandwidth_.peak); + s4u::Link::on_bandwidth_change(this->piface_); +} + void LinkImpl::setStateTrace(tmgr_trace_t trace) { xbt_assert(stateEvent_ == nullptr, "Cannot set a second state trace to Link %s", get_cname()); @@ -205,7 +217,7 @@ void LinkImpl::setLatencyTrace(tmgr_trace_t trace) void NetworkAction::set_state(Action::State state) { Action::set_state(state); - s4u::Link::onCommunicationStateChange(this); + s4u::Link::on_communication_state_change(this); } /** @brief returns a list of all Links that this action is using */