#include "network_interface.hpp"
#include "simgrid/sg_config.hpp"
#include "src/surf/surf_interface.hpp"
+#include "surf/surf.hpp"
#ifndef NETWORK_INTERFACE_CPP_
#define NETWORK_INTERFACE_CPP_
/** @brief Command-line option 'network/TCP-gamma' -- see \ref options_model_network_gamma */
simgrid::config::Flag<double> NetworkModel::cfg_tcp_gamma(
- {"network/TCP-gamma", "network/TCP_gamma"},
+ "network/TCP-gamma", {"network/TCP_gamma"},
"Size of the biggest TCP window (cat /proc/sys/net/ipv4/tcp_[rw]mem for recv/send window; "
"Use the last given value, which is the max window size)",
4194304.0);
{
if (not currentlyDestroying_) {
currentlyDestroying_ = true;
- s4u::Link::onDestruction(this->piface_);
+ s4u::Link::on_destruction(this->piface_);
delete this;
}
}
{
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()
+{
+ 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());
void NetworkAction::set_state(Action::State state)
{
+ Action::State previous = get_state();
Action::set_state(state);
- s4u::Link::onCommunicationStateChange(this);
+ if (previous != state) // Trigger only if the state changed
+ s4u::Link::on_communication_state_change(this);
}
/** @brief returns a list of all Links that this action is using */