std::set<SD_task_t>* simulate(double how_long)
{
XBT_VERB("Run simulation for %f seconds", how_long);
-
+ auto engine = sd_global->engine_->get_impl();
+ simgrid::kernel::EngineImpl::get_instance();
sd_global->watch_point_reached = false;
sd_global->return_set.clear();
not sd_global->watch_point_reached) {
XBT_DEBUG("Total time: %f", total_time);
- elapsed_time = surf_solve(how_long > 0 ? surf_get_clock() + how_long - total_time : -1.0);
- XBT_DEBUG("surf_solve() returns %f", elapsed_time);
+ elapsed_time = engine->solve(how_long > 0 ? simgrid_get_clock() + how_long - total_time : -1.0);
+ XBT_DEBUG("solve() returns %f", elapsed_time);
if (elapsed_time > 0.0)
total_time += elapsed_time;
/* let's see which tasks are done */
- for (auto const& model : simgrid::kernel::EngineImpl::get_instance()->get_all_models()) {
+ for (auto const& model : engine->get_all_models()) {
const simgrid::kernel::resource::Action* action = model->extract_done_action();
while (action != nullptr && action->get_data() != nullptr) {
auto* task = static_cast<SD_task_t>(action->get_data());
XBT_DEBUG("elapsed_time = %f, total_time = %f, watch_point_reached = %d", elapsed_time, total_time,
sd_global->watch_point_reached);
- XBT_DEBUG("current time = %f", surf_get_clock());
+ XBT_DEBUG("current time = %f", simgrid_get_clock());
return &sd_global->return_set;
}
jedule_sd_init();
#endif
XBT_VERB("Starting simulation...");
- surf_presolve(); /* Takes traces into account */
+ sd_global->engine_->get_impl()->presolve(); /* Takes traces into account */
}
/**
/** @brief Returns the current clock, in seconds */
double SD_get_clock()
{
- return surf_get_clock();
+ return simgrid_get_clock();
}
/**