SIMIX_REQ_ENUM_ELEMENT(REQ_COMM_GET_STATE),\
SIMIX_REQ_ENUM_ELEMENT(REQ_COMM_GET_SRC_DATA),\
SIMIX_REQ_ENUM_ELEMENT(REQ_COMM_GET_DST_DATA),\
-SIMIX_REQ_ENUM_ELEMENT(REQ_COMM_GET_SRC_BUFF),\
-SIMIX_REQ_ENUM_ELEMENT(REQ_COMM_GET_DST_BUFF),\
-SIMIX_REQ_ENUM_ELEMENT(REQ_COMM_GET_SRC_BUFF_SIZE),\
-SIMIX_REQ_ENUM_ELEMENT(REQ_COMM_GET_DST_BUFF_SIZE),\
SIMIX_REQ_ENUM_ELEMENT(REQ_COMM_GET_SRC_PROC),\
SIMIX_REQ_ENUM_ELEMENT(REQ_COMM_GET_DST_PROC),\
SIMIX_REQ_ENUM_ELEMENT(REQ_MUTEX_INIT),\
* \brief Represents a SIMIX request.
*/
typedef struct s_smx_req {
- s_xbt_swag_hookup_t state_hookup;
+ s_xbt_swag_hookup_t reqtable_hookup;
e_smx_req_t call;
smx_process_t issuer;
size_t src_buff_size;
int (*match_fun)(void *, void *);
void *data;
+ int detached;
smx_action_t result;
} comm_isend;
void *result;
} comm_get_dst_data;
- struct {
- smx_action_t comm;
- void *result;
- } comm_get_src_buff;
-
- struct {
- smx_action_t comm;
- void *result;
- } comm_get_dst_buff;
-
- struct {
- smx_action_t comm;
- size_t result;
- } comm_get_src_buff_size;
-
- struct {
- smx_action_t comm;
- size_t result;
- } comm_get_dst_buff_size;
-
struct {
smx_action_t comm;
smx_process_t result;
void SIMIX_request_init(void);
void SIMIX_request_destroy(void);
+xbt_swag_t SIMIX_request_get_reqlist(int thread_pid);
void SIMIX_request_push(void);
smx_req_t SIMIX_request_pop(void);
void SIMIX_request_answer(smx_req_t);