-
-
-/******************************* Transitions **********************************/
-typedef enum {
- mc_isend,
- mc_irecv,
- mc_test,
- mc_wait,
- mc_waitany,
- mc_random
-} mc_trans_type_t;
-
-typedef struct s_mc_transition {
- XBT_SETSET_HEADERS;
- char *name;
- smx_process_t process;
- mc_trans_type_t type;
-
- union {
- struct {
- smx_rdv_t rdv;
- } isend;
-
- struct {
- smx_rdv_t rdv;
- } irecv;
-
- struct {
- smx_comm_t comm;
- } wait;
-
- struct {
- smx_comm_t comm;
- } test;
-
- struct {
- xbt_dynar_t comms;
- } waitany;
-
- struct {
- int value;
- } random;
- };
-} s_mc_transition_t;
-
-mc_transition_t MC_trans_isend_new(smx_rdv_t);
-mc_transition_t MC_trans_irecv_new(smx_rdv_t);
-mc_transition_t MC_trans_wait_new(smx_comm_t);
-mc_transition_t MC_trans_test_new(smx_comm_t);
-mc_transition_t MC_trans_waitany_new(xbt_dynar_t);
-mc_transition_t MC_trans_random_new(int);
-void MC_transition_delete(mc_transition_t);
-int MC_transition_depend(mc_transition_t, mc_transition_t);
-void MC_trans_compute_enabled(xbt_setset_set_t, xbt_setset_set_t);
-