// send
std::for_each(neigh.begin(), neigh.end(),
bind(&process::ctrl_send, this, _1));
+ prev_load_broadcast = get_load();
sleep_until_date(next_iter_after_date, opt::min_lb_iter_duration);
ctrl_receive(0.0);
}
XBT_VERB("Going to finalize for %s...", __func__);
+ // last send, for not losing load scheduled to be sent
+ std::for_each(neigh.begin(), neigh.end(),
+ bind(&process::data_send, this, _1));
+ finalizing = true;
+ total_load_running -= real_load;
XBT_DEBUG("send DATA_CLOSE to %zu neighbor%s",
neigh.size(), ESSE(neigh.size()));
std::for_each(neigh.begin(), neigh.end(),
} else {
load_to_send = nb.get_to_send();
nb.set_to_send(0.0);
+ // do not update real_load here
}
if (load_to_send > 0.0)
comm.data_send(nb.get_data_mbox(),