X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/0cfb40d124549f4dde6f00095847de0d04828adf..872d65264714799b25eb231609c3f05bae3d03dc:/src/mc/mc_state.h diff --git a/src/mc/mc_state.h b/src/mc/mc_state.h index 599b0cb785..1e47840449 100644 --- a/src/mc/mc_state.h +++ b/src/mc/mc_state.h @@ -15,6 +15,11 @@ #include #include "src/simix/smx_private.h" +#include "src/simix/SynchroIo.hpp" +#include "src/simix/SynchroComm.hpp" +#include "src/simix/SynchroRaw.hpp" +#include "src/simix/SynchroSleep.hpp" +#include "src/simix/SynchroExec.hpp" #include "src/mc/mc_snapshot.h" #include "src/mc/mc_record.h" #include "src/mc/Transition.hpp" @@ -22,12 +27,16 @@ namespace simgrid { namespace mc { -extern XBT_PRIVATE std::unique_ptr initial_global_state; +enum class PatternCommunicationType { + none = 0, + send = 1, + receive = 2, +}; struct PatternCommunication { int num = 0; smx_synchro_t comm_addr; - e_smx_comm_type_t type = SIMIX_COMM_SEND; + PatternCommunicationType type = PatternCommunicationType::send; unsigned long src_proc = 0; unsigned long dst_proc = 0; const char *src_host = nullptr; @@ -127,7 +136,7 @@ struct XBT_PRIVATE State { s_smx_simcall_t internal_req; /* Can be used as a copy of the remote synchro object */ - s_smx_synchro_t internal_comm; + simgrid::mc::Remote internal_comm; /** Snapshot of system state (if needed) */ std::shared_ptr system_state; @@ -146,8 +155,6 @@ struct XBT_PRIVATE State { Transition getTransition() const; }; -XBT_PRIVATE void replay(std::list> const& stack); - } }