XBT_PUBLIC(e_smx_state_t) SIMIX_req_comm_get_state(smx_action_t comm);
XBT_PUBLIC(void *) SIMIX_req_comm_get_src_data(smx_action_t comm);
XBT_PUBLIC(void *) SIMIX_req_comm_get_dst_data(smx_action_t comm);
-XBT_PUBLIC(void *) SIMIX_req_comm_get_src_buff(smx_action_t comm);
-XBT_PUBLIC(void *) SIMIX_req_comm_get_dst_buff(smx_action_t comm);
-XBT_PUBLIC(size_t) SIMIX_req_comm_get_src_buff_size(smx_action_t comm);
-XBT_PUBLIC(size_t) SIMIX_req_comm_get_dst_buff_size(smx_action_t comm);
XBT_PUBLIC(smx_process_t) SIMIX_req_comm_get_src_proc(smx_action_t comm);
XBT_PUBLIC(smx_process_t) SIMIX_req_comm_get_dst_proc(smx_action_t comm);
XBT_PUBLIC(void) SIMIX_req_comm_set_copy_data_callback(void (*callback)(smx_action_t,size_t));
void SIMIX_comm_resume(smx_action_t action);
void* SIMIX_comm_get_src_data(smx_action_t action);
void* SIMIX_comm_get_dst_data(smx_action_t action);
-void* SIMIX_comm_get_src_buff(smx_action_t action);
-void* SIMIX_comm_get_dst_buff(smx_action_t action);
-size_t SIMIX_comm_get_src_buff_size(smx_action_t action);
-size_t SIMIX_comm_get_dst_buff_size(smx_action_t action);
smx_process_t SIMIX_comm_get_src_proc(smx_action_t action);
smx_process_t SIMIX_comm_get_dst_proc(smx_action_t action);
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),\
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;
return action->comm.dst_data;
}
-void* SIMIX_comm_get_src_buff(smx_action_t action)
-{
- return action->comm.src_buff;
-}
-
-void* SIMIX_comm_get_dst_buff(smx_action_t action)
-{
- return action->comm.dst_buff;
-}
-
-size_t SIMIX_comm_get_src_buff_size(smx_action_t action)
-{
- return action->comm.src_buff_size;
-}
-
-size_t SIMIX_comm_get_dst_buff_size(smx_action_t action)
-{
- size_t buff_size;
-
- if (action->comm.dst_buff_size)
- buff_size = *(action->comm.dst_buff_size);
- else
- buff_size = 0;
-
- return buff_size;
-}
-
smx_process_t SIMIX_comm_get_src_proc(smx_action_t action)
{
return action->comm.src_proc;
SIMIX_request_answer(req);
break;
- case REQ_COMM_GET_SRC_BUFF:
- req->comm_get_src_buff.result =
- SIMIX_comm_get_src_buff(req->comm_get_src_buff.comm);
- SIMIX_request_answer(req);
- break;
-
- case REQ_COMM_GET_DST_BUFF:
- req->comm_get_dst_buff.result =
- SIMIX_comm_get_dst_buff(req->comm_get_dst_buff.comm);
- SIMIX_request_answer(req);
- break;
-
- case REQ_COMM_GET_SRC_BUFF_SIZE:
- req->comm_get_src_buff_size.result =
- SIMIX_comm_get_src_buff_size(req->comm_get_src_buff_size.comm);
- SIMIX_request_answer(req);
- break;
-
- case REQ_COMM_GET_DST_BUFF_SIZE:
- req->comm_get_dst_buff_size.result =
- SIMIX_comm_get_dst_buff_size(req->comm_get_dst_buff_size.comm);
- SIMIX_request_answer(req);
- break;
-
case REQ_COMM_GET_SRC_PROC:
req->comm_get_src_proc.result =
SIMIX_comm_get_src_proc(req->comm_get_src_proc.comm);
return req->comm_get_dst_data.result;
}
-void *SIMIX_req_comm_get_src_buff(smx_action_t comm)
-{
- smx_req_t req = SIMIX_req_mine();
-
- req->call = REQ_COMM_GET_SRC_BUFF;
- req->comm_get_src_buff.comm = comm;
-
- SIMIX_request_push();
- return req->comm_get_src_buff.result;
-}
-
-void *SIMIX_req_comm_get_dst_buff(smx_action_t comm)
-{
- smx_req_t req = SIMIX_req_mine();
-
- req->call = REQ_COMM_GET_DST_BUFF;
- req->comm_get_dst_buff.comm = comm;
-
- SIMIX_request_push();
- return req->comm_get_dst_buff.result;
-}
-
-size_t SIMIX_req_comm_get_src_buff_size(smx_action_t comm)
-{
- smx_req_t req = SIMIX_req_mine();
-
- req->call = REQ_COMM_GET_SRC_BUFF_SIZE;
- req->comm_get_src_buff_size.comm = comm;
-
- SIMIX_request_push();
- return req->comm_get_src_buff_size.result;
-}
-
-size_t SIMIX_req_comm_get_dst_buff_size(smx_action_t comm)
-{
- smx_req_t req = SIMIX_req_mine();
-
- req->call = REQ_COMM_GET_DST_BUFF_SIZE;
- req->comm_get_dst_buff_size.comm = comm;
-
- SIMIX_request_push();
- return req->comm_get_dst_buff_size.result;
-}
-
smx_process_t SIMIX_req_comm_get_src_proc(smx_action_t comm)
{
smx_req_t req = SIMIX_req_mine();