#include "src/simix/smx_private.h"
#include "src/mc/mc_snapshot.h"
#include "src/mc/mc_record.h"
+#include "src/mc/Transition.hpp"
namespace simgrid {
namespace mc {
/** Sequential state number (used for debugging) */
int num = 0;
- /* Which transition was executed for this simcall
- *
- * Some simcalls can lead to different transitions:
- *
- * * waitany/testany can trigger on different messages;
- *
- * * random can produce different values.
- */
- int req_num = 0;
-
/** State's exploration status by process */
std::vector<ProcessState> processStates;
+ Transition transition;
+
/** The simcall which was executed */
s_smx_simcall_t executed_req;
{
this->processStates[process->pid].interleave();
}
- RecordTraceElement getRecordElement() const;
+ Transition getTransition() const;
};
XBT_PRIVATE void replay(std::list<std::unique_ptr<simgrid::mc::State>> const& stack);
}
}
-XBT_PRIVATE simgrid::mc::State* MC_state_new(void);
+XBT_PRIVATE simgrid::mc::State* MC_state_new(unsigned long state_number);
XBT_PRIVATE smx_simcall_t MC_state_get_request(simgrid::mc::State* state);
#endif