double durUsage = 0;
while (const auto* var = wifi_link->get_constraint()->get_variable(&elem)) {
auto* action = static_cast<kernel::resource::NetworkWifiAction*>(var->get_id());
- XBT_DEBUG("cost: %f action value: %f link rate 1: %f link rate 2: %f", action->get_cost(),
- action->get_variable()->get_value(), wifi_link->get_host_rate(&action->get_src()),
- wifi_link->get_host_rate(&action->get_dst()));
+ XBT_DEBUG("cost: %f action value: %f link rate 1: %f link rate 2: %f", action->get_cost(), action->get_rate(),
+ wifi_link->get_host_rate(&action->get_src()), wifi_link->get_host_rate(&action->get_dst()));
- if(action->get_variable()->get_value()) {
+ if (action->get_rate() != 0.0) {
auto it = flowTmp.find(action);
// if the flow has not been registered, initialize it: 0 bytes sent, and not updated since its creation timestamp
* If this is longer than the duration since the previous update, active duration = now - previous_update
*/
double du = // durUsage on the current flow
- (action->get_cost() - it->second.first) / action->get_variable()->get_value();
+ (action->get_cost() - it->second.first) / action->get_rate();
if(du > surf_get_clock()-it->second.second)
du = surf_get_clock()-it->second.second;
durUsage = du;
// update the amount of data already sent by the flow
- it->second.first += du*action->get_variable()->get_value();
+ it->second.first += du * action->get_rate();
it->second.second = surf_get_clock();
// important: if the transmission finished, remove it (needed for performance and multi-message flows)
* - if idle i.e. get_usage = 0, update P_{stat}
* P_{tot} = P_{dyn}+P_{stat}
*/
- if(link_->get_usage()){
+ if (link_->get_usage() != 0.0) {
eDyn_ += /*duration * */ durUsage * ((wifi_link->get_host_count() * pRx_) + pTx_);
eStat_ += (duration - durUsage) * pIdle_ * (wifi_link->get_host_count() + 1);
XBT_DEBUG("eDyn += %f * ((%d * %f) + %f) | eDyn = %f (durusage =%f)", durUsage, wifi_link->get_host_count(), pRx_,
pTx_, eDyn_, durUsage);
dur_TxRx_ += duration;
- }else{
+ } else {
dur_idle_ += duration;
eStat_ += (duration - (duration * control_duration_)) * pIdle_ * (wifi_link->get_host_count() + 1);
}