X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/98152b5047c19637dc5c1949092867682e8f1611..d5a9454ffc4dbee2eeb3de8975b39fa11f97bf1a:/src/mc/mc_api.cpp diff --git a/src/mc/mc_api.cpp b/src/mc/mc_api.cpp index 29e895bc10..edf7e5ce1a 100644 --- a/src/mc/mc_api.cpp +++ b/src/mc/mc_api.cpp @@ -205,14 +205,21 @@ unsigned long mc_api::get_maxpid() const return MC_smx_get_maxpid(); } +int mc_api::get_actors_size() const +{ + return mc_model_checker->get_remote_simulation().actors().size(); +} + void mc_api::copy_incomplete_comm_pattern(const simgrid::mc::State* state) const { MC_state_copy_incomplete_communications_pattern((simgrid::mc::State*)state); } -void mc_api::copy_index_comm_pattern(const simgrid::mc::State* state) const +void mc_api::copy_index_comm_pattern(simgrid::mc::State* state) const { - MC_state_copy_index_communications_pattern((simgrid::mc::State*)state); + state->communication_indices_.clear(); + for (auto const& list_process_comm : initial_communications_pattern) + state->communication_indices_.push_back(list_process_comm.index_comm); } kernel::activity::CommImpl* mc_api::get_pattern_comm_addr(smx_simcall_t request) const @@ -362,7 +369,7 @@ void mc_api::mc_show_deadlock() const MC_show_deadlock(); } -smx_actor_t mc_api::mc_smx_simcall_get_issuer(s_smx_simcall const* req) const +smx_actor_t mc_api::simcall_get_issuer(s_smx_simcall const* req) const { return MC_smx_simcall_get_issuer(req); } @@ -437,7 +444,7 @@ std::string mc_api::request_get_dot_output(smx_simcall_t req, int value) const return simgrid::mc::request_get_dot_output(req, value); } -const char* mc_api::simix_simcall_name(simgrid::simix::Simcall kind) const +const char* mc_api::simcall_get_name(simgrid::simix::Simcall kind) const { return SIMIX_simcall_name(kind); } @@ -456,6 +463,11 @@ int mc_api::get_smpi_request_tag(smx_simcall_t const& simcall, simgrid::simix::S } #endif +void mc_api::restore_state(std::shared_ptr 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); @@ -472,7 +484,7 @@ void mc_api::s_close() const session->close(); } -void mc_api::s_restore_initial_state() const +void mc_api::restore_initial_state() const { session->restore_initial_state(); } @@ -482,7 +494,7 @@ void mc_api::execute(Transition const& transition) session->execute(transition); } -void mc_api::s_log_state() const +void mc_api::log_state() const { session->log_state(); }