- case REQ_RDV_COMM_COUNT_BY_HOST:
- req->rdv_comm_count_by_host.result = SIMIX_rdv_comm_count_by_host(
- req->rdv_comm_count_by_host.rdv,
- req->rdv_comm_count_by_host.host);
- SIMIX_request_answer(req);
- break;
-
- case REQ_RDV_GET_HEAD:
- req->rdv_get_head.result = SIMIX_rdv_get_head(req->rdv_get_head.rdv);
- SIMIX_request_answer(req);
- break;
-
- case REQ_COMM_ISEND:
- req->comm_isend.result = SIMIX_comm_isend(
- req->issuer,
- req->comm_isend.rdv,
- req->comm_isend.task_size,
- req->comm_isend.rate,
- req->comm_isend.src_buff,
- req->comm_isend.src_buff_size,
- req->comm_isend.match_fun,
- req->comm_isend.data);
- SIMIX_request_answer(req);
- break;
-
- case REQ_COMM_IRECV:
- req->comm_irecv.result = SIMIX_comm_irecv(
- req->issuer,
- req->comm_irecv.rdv,
- req->comm_irecv.dst_buff,
- req->comm_irecv.dst_buff_size,
- req->comm_irecv.match_fun,
- req->comm_irecv.data);
- SIMIX_request_answer(req);
- break;
-
- case REQ_COMM_DESTROY:
- SIMIX_comm_destroy(req->comm_destroy.comm);
- SIMIX_request_answer(req);
- break;
-
- case REQ_COMM_CANCEL:
- SIMIX_comm_cancel(req->comm_cancel.comm);
- SIMIX_request_answer(req);
- break;
-
- case REQ_COMM_WAITANY:
- SIMIX_pre_comm_waitany(req);
- break;
-
- case REQ_COMM_WAIT:
- SIMIX_pre_comm_wait(req);
- break;
-
- case REQ_COMM_TEST:
- SIMIX_pre_comm_test(req);
- break;
-
- case REQ_COMM_TESTANY:
- SIMIX_pre_comm_testany(req);
- break;
-
- case REQ_COMM_GET_REMAINS:
- req->comm_get_remains.result =
- SIMIX_comm_get_remains(req->comm_get_remains.comm);
- SIMIX_request_answer(req);
- break;
-
- case REQ_COMM_GET_STATE:
- req->comm_get_state.result =
- SIMIX_comm_get_state(req->comm_get_state.comm);
- SIMIX_request_answer(req);
- break;
-
- case REQ_COMM_GET_SRC_DATA:
- req->comm_get_src_data.result = SIMIX_comm_get_src_data(req->comm_get_src_data.comm);
- SIMIX_request_answer(req);
- break;
-
- case REQ_COMM_GET_DST_DATA:
- req->comm_get_dst_data.result = SIMIX_comm_get_dst_data(req->comm_get_dst_data.comm);
- 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);
- SIMIX_request_answer(req);
- break;
-
- case REQ_COMM_GET_DST_PROC:
- req->comm_get_dst_proc.result =
- SIMIX_comm_get_dst_proc(req->comm_get_dst_proc.comm);
- SIMIX_request_answer(req);
- break;
-
-#ifdef HAVE_LATENCY_BOUND_TRACKING
- case REQ_COMM_IS_LATENCY_BOUNDED:
- req->comm_is_latency_bounded.result =
- SIMIX_comm_is_latency_bounded(req->comm_is_latency_bounded.comm);
- SIMIX_request_answer(req);
- break;
-#endif
-
-#ifdef HAVE_TRACING
- case REQ_SET_CATEGORY:
- SIMIX_set_category(
- req->set_category.action,
- req->set_category.category);
- SIMIX_request_answer(req);
- break;
-#endif
-
- case REQ_MUTEX_INIT:
- req->mutex_init.result = SIMIX_mutex_init();
- SIMIX_request_answer(req);
- break;
-
- case REQ_MUTEX_DESTROY:
- SIMIX_mutex_destroy(req->mutex_destroy.mutex);
- SIMIX_request_answer(req);
- break;
-
- case REQ_MUTEX_LOCK:
- SIMIX_pre_mutex_lock(req);
- break;
-
- case REQ_MUTEX_TRYLOCK:
- req->mutex_trylock.result =
- SIMIX_mutex_trylock(req->mutex_trylock.mutex, req->issuer);
- SIMIX_request_answer(req);
- break;
-
- case REQ_MUTEX_UNLOCK:
- SIMIX_mutex_unlock(req->mutex_unlock.mutex, req->issuer);
- SIMIX_request_answer(req);
- break;
-
- case REQ_COND_INIT:
- req->cond_init.result = SIMIX_cond_init();
- SIMIX_request_answer(req);
- break;
-
- case REQ_COND_DESTROY:
- SIMIX_cond_destroy(req->cond_destroy.cond);
- SIMIX_request_answer(req);
- break;
-
- case REQ_COND_SIGNAL:
- SIMIX_cond_signal(req->cond_signal.cond);
- SIMIX_request_answer(req);
- break;
-
- case REQ_COND_WAIT:
- SIMIX_pre_cond_wait(req);
- break;
-
- case REQ_COND_WAIT_TIMEOUT:
- SIMIX_pre_cond_wait_timeout(req);
- break;
-
- case REQ_COND_BROADCAST:
- SIMIX_cond_broadcast(req->cond_broadcast.cond);
- SIMIX_request_answer(req);
- break;
-
- case REQ_SEM_INIT:
- req->sem_init.result = SIMIX_sem_init(req->sem_init.capacity);
- SIMIX_request_answer(req);
- break;
-
- case REQ_SEM_DESTROY:
- SIMIX_sem_destroy(req->sem_destroy.sem);
- SIMIX_request_answer(req);
- break;
-
- case REQ_SEM_RELEASE:
- SIMIX_sem_release(req->sem_release.sem);
- SIMIX_request_answer(req);
- break;
-
- case REQ_SEM_WOULD_BLOCK:
- req->sem_would_block.result =
- SIMIX_sem_would_block(req->sem_would_block.sem);
- SIMIX_request_answer(req);
- break;
-
- case REQ_SEM_ACQUIRE:
- SIMIX_pre_sem_acquire(req);
- break;
-
- case REQ_SEM_ACQUIRE_TIMEOUT:
- SIMIX_pre_sem_acquire_timeout(req);
- break;
-
- case REQ_SEM_GET_CAPACITY:
- req->sem_get_capacity.result =
- SIMIX_sem_get_capacity(req->sem_get_capacity.sem);
- SIMIX_request_answer(req);