/* I am the receiver */
(*task_received)->set_not_used();
}
- } catch (simgrid::TimeoutError& e) {
+ } catch (const simgrid::TimeoutException&) {
status_ = MSG_TIMEOUT;
finished = true;
- } catch (simgrid::CancelException& e) {
+ } catch (const simgrid::CancelException&) {
status_ = MSG_TASK_CANCELED;
finished = true;
- } catch (xbt_ex& e) {
- if (e.category == network_error) {
- status_ = MSG_TRANSFER_FAILURE;
- finished = true;
- } else {
- throw;
- }
+ } catch (const simgrid::NetworkFailureException&) {
+ status_ = MSG_TRANSFER_FAILURE;
+ finished = true;
}
return finished;
}
/* FIXME: these functions are not traceable */
- } catch (simgrid::TimeoutError& e) {
+ } catch (const simgrid::TimeoutException&) {
status_ = MSG_TIMEOUT;
- } catch (simgrid::CancelException& e) {
+ } catch (const simgrid::CancelException&) {
status_ = MSG_TASK_CANCELED;
- } catch (xbt_ex& e) {
- if (e.category == network_error)
- status_ = MSG_TRANSFER_FAILURE;
- else
- throw;
+ } catch (const simgrid::NetworkFailureException&) {
+ status_ = MSG_TRANSFER_FAILURE;
}
return status_;
msg_error_t status = MSG_OK;
try {
finished_index = simcall_comm_testany(s_comms.data(), s_comms.size());
- } catch (simgrid::TimeoutError& e) {
+ } catch (const simgrid::TimeoutException& e) {
finished_index = e.value;
status = MSG_TIMEOUT;
- } catch (simgrid::CancelException& e) {
+ } catch (const simgrid::CancelException& e) {
finished_index = e.value;
status = MSG_TASK_CANCELED;
- } catch (xbt_ex& e) {
- if (e.category != network_error)
- throw;
+ } catch (const simgrid::NetworkFailureException& e) {
finished_index = e.value;
status = MSG_TRANSFER_FAILURE;
}
return comm->wait_for(timeout);
}
-/** @brief This function is called by a sender and permit to wait for each communication
+/** @brief This function is called by a sender and permits waiting for each communication
*
* @param comm a vector of communication
* @param nb_elem is the size of the comm vector
msg_error_t status = MSG_OK;
try {
finished_index = simcall_comm_waitany(s_comms.data(), s_comms.size(), -1);
- } catch (simgrid::TimeoutError& e) {
+ } catch (const simgrid::TimeoutException& e) {
finished_index = e.value;
status = MSG_TIMEOUT;
- } catch (simgrid::CancelException& e) {
+ } catch (const simgrid::CancelException& e) {
finished_index = e.value;
status = MSG_TASK_CANCELED;
- } catch (xbt_ex& e) {
- if (e.category == network_error) {
- finished_index = e.value;
- status = MSG_TRANSFER_FAILURE;
- } else {
- throw;
- }
+ } catch (const simgrid::NetworkFailureException& e) {
+ finished_index = e.value;
+ status = MSG_TRANSFER_FAILURE;
}
xbt_assert(finished_index != -1, "WaitAny returned -1");
return comm->task_received ? *comm->task_received : comm->task_sent;
}
-
-/**
- * @brief This function is called by SIMIX in kernel mode to copy the data of a comm.
- * @param comm the comm
- * @param buff the data copied
- * @param buff_size size of the buffer
- */
-// deprecated but used by MSG_set_copy_callback. Should be removed in v325
-void MSG_comm_copy_data_from_SIMIX(simgrid::kernel::activity::CommImpl* comm, void* buff, size_t buff_size)
-{
- SIMIX_comm_copy_pointer_callback(comm, buff, buff_size);
-
- // notify the user callback if any
- if (msg_global->task_copy_callback) {
- msg_task_t task = static_cast<msg_task_t>(buff);
- msg_global->task_copy_callback(task, comm->src_actor_->ciface(), comm->dst_actor_->ciface());
- }
-}