Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Merge branch 'udpor-phase7' into 'master'
[simgrid.git] / src / kernel / EngineImpl.cpp
index 240464886441b50f8a93a1fc40d38b00915ea0de..e3e701a47e01c67ca9d0209940920a55932fc6af 100644 (file)
@@ -194,9 +194,6 @@ void EngineImpl::initialize(int* argc, char** argv)
 
   install_signal_handlers();
 
-  /* register a function to be called after the environment creation */
-  s4u::Engine::on_platform_created_cb([this]() { this->presolve(); });
-
   if (cfg_dbg_clean_atexit)
     atexit(shutdown);
 }
@@ -324,7 +321,7 @@ void EngineImpl::load_deployment(const std::string& file) const
   sg_platf_parser_finalize();
 
   simgrid_parse_open(file);
-  simgrid_parse();
+  simgrid_parse(false);
   simgrid_parse_close();
 }
 
@@ -477,27 +474,6 @@ void EngineImpl::display_all_actor_status() const
   }
 }
 
-void EngineImpl::presolve() const
-{
-  XBT_DEBUG("Consume all trace events occurring before the starting time.");
-  double next_event_date;
-  while ((next_event_date = profile::future_evt_set.next_date()) != -1.0) {
-    if (next_event_date > now_)
-      break;
-
-    double value                 = -1.0;
-    resource::Resource* resource = nullptr;
-    while (auto* event = profile::future_evt_set.pop_leq(next_event_date, &value, &resource)) {
-      if (value >= 0)
-        resource->apply_event(event, value);
-    }
-  }
-
-  XBT_DEBUG("Set every models in the right state by updating them to 0.");
-  for (auto const& model : models_)
-    model->update_actions_state(now_, 0.0);
-}
-
 double EngineImpl::solve(double max_date) const
 {
   double time_delta            = -1.0; /* duration */
@@ -512,9 +488,9 @@ double EngineImpl::solve(double max_date) const
 
   XBT_DEBUG("Looking for next event in all models");
   for (auto model : models_) {
-    if (not model->next_occurring_event_is_idempotent()) {
+    if (not model->next_occurring_event_is_idempotent())
       continue;
-    }
+
     double next_event = model->next_occurring_event(now_);
     if ((time_delta < 0.0 || next_event < time_delta) && next_event >= 0.0) {
       time_delta = next_event;