- case REQ_COMM_GET_REMAINS:
- req->comm_get_remains.result =
- SIMIX_comm_get_remains(req->comm_get_remains.comm);
- SIMIX_request_answer(req);
+ case SIMCALL_COMM_ISEND:
+ simcall->comm_isend.result = SIMIX_comm_isend(
+ simcall->issuer,
+ simcall->comm_isend.rdv,
+ simcall->comm_isend.task_size,
+ simcall->comm_isend.rate,
+ simcall->comm_isend.src_buff,
+ simcall->comm_isend.src_buff_size,
+ simcall->comm_isend.match_fun,
+ simcall->comm_isend.clean_fun,
+ simcall->comm_isend.data,
+ simcall->comm_isend.detached);
+ SIMIX_simcall_answer(simcall);
+ break;
+
+ case SIMCALL_COMM_RECV:
+ {
+ smx_action_t comm = SIMIX_comm_irecv(
+ simcall->issuer,
+ simcall->comm_recv.rdv,
+ simcall->comm_recv.dst_buff,
+ simcall->comm_recv.dst_buff_size,
+ simcall->comm_recv.match_fun,
+ simcall->comm_recv.data);
+ SIMIX_pre_comm_wait(simcall, comm, simcall->comm_recv.timeout, 0);