X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/3a4ce12090813eec44fb68c53ff18ef41d2ad571..9f9eacbd59910b9bce3a39e41ce1d966f9a60c4c:/src/mc/mc_api.cpp diff --git a/src/mc/mc_api.cpp b/src/mc/mc_api.cpp index bee98a6fd2..bb70bacf0f 100644 --- a/src/mc/mc_api.cpp +++ b/src/mc/mc_api.cpp @@ -210,17 +210,25 @@ 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_incomplete_comm_pattern(simgrid::mc::State* state) const +{ + state->incomplete_comm_pattern_.clear(); + for (unsigned i=0; i < MC_smx_get_maxpid(); i++) { + std::vector res; + for (auto const& comm : incomplete_communications_pattern[i]) + res.push_back(comm->dup()); + state->incomplete_comm_pattern_.push_back(std::move(res)); + } } -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 +kernel::activity::CommImpl* mc_api::get_comm_isend_raw_addr(smx_simcall_t request) const { auto comm_addr = simcall_comm_isend__getraw__result(request); return static_cast(comm_addr); @@ -367,7 +375,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); } @@ -442,7 +450,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); } @@ -482,7 +490,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(); }