double surf_solve(double max_date)
{
double time_delta = -1.0; /* duration */
- double next_event_date = -1.0;
double model_next_action_end = -1.0;
double value = -1.0;
simgrid::surf::Resource *resource = nullptr;
XBT_DEBUG("Looking for next trace event");
while (1) { // Handle next occurring events until none remains
- next_event_date = future_evt_set->next_date();
+ double next_event_date = future_evt_set->next_date();
XBT_DEBUG("Next TRACE event: %f", next_event_date);
if (not surf_network_model->nextOccuringEventIsIdempotent()) { // NS3, I see you
XBT_DEBUG("Updating models (min = %g, NOW = %g, next_event_date = %g)", time_delta, NOW, next_event_date);
while ((event = future_evt_set->pop_leq(next_event_date, &value, &resource))) {
- if (resource->isUsed() || xbt_dict_get_or_null(watched_hosts_lib, resource->cname())) {
+ if (resource->isUsed() || (watched_hosts.find(resource->cname()) != watched_hosts.end())) {
time_delta = next_event_date - NOW;
XBT_DEBUG("This event invalidates the next_occuring_event() computation of models. Next event set to %f", time_delta);
}