/* Intermediate backtracking */
State* last_state = stack_.back().get();
if (last_state->system_state_) {
- last_state->system_state_->restore(&mcapi::get().mc_get_remote_simulation());
+ mc_api::get().restore_state(last_state->system_state_);
MC_restore_communications_pattern(last_state);
return;
}
/* Intermediate backtracking */
const State* last_state = stack_.back().get();
if (last_state->system_state_) {
- last_state->system_state_->restore(&mcapi::get().mc_get_remote_simulation());
+ mc_api::get().restore_state(last_state->system_state_);
return;
}
}
#endif
+void mc_api::restore_state(std::shared_ptr<simgrid::mc::Snapshot> system_state) const
+{
+ system_state->restore(&mc_model_checker->get_remote_simulation());
+}
+
bool mc_api::snapshot_equal(const Snapshot* s1, const Snapshot* s2) const
{
return simgrid::mc::snapshot_equal(s1, s2);
int get_smpi_request_tag(smx_simcall_t const& simcall, simgrid::simix::Simcall type) const;
#endif
+ // STATE APIs
+ void restore_state(std::shared_ptr<simgrid::mc::Snapshot> system_state) const;
+
// SNAPSHOT APIs
bool snapshot_equal(const Snapshot* s1, const Snapshot* s2) const;
simgrid::mc::Snapshot* take_snapshot(int num_state) const;