+/** \ingroup msg_gos_functions
+* \brief This function is called by a sender and permit to wait for each communication
+*
+* It takes three parameters.
+* \param comm a vector of communication
+* \param nb_elem is the size of the comm vector
+* \param timeout for each call of MSG_comm_wait
+*/
+void MSG_comm_waitall(msg_comm_t *comm,int nb_elem, double timeout) {
+ int i=0;
+ for(i=0; i<nb_elem; i++)
+ {
+ MSG_comm_wait(comm[i],timeout);
+ }
+}
+/** \ingroup msg_gos_functions
+* \brief This function wait for the first completed communication
+*
+* It takes on parameter.
+* \param comms a vector of communication
+* \return the position of the completed communication from the xbt_dynar_t.
+*/
+int MSG_comm_waitany(xbt_dynar_t comms) {
+ return SIMIX_network_waitany(comms);
+}
+
+m_task_t MSG_comm_get_task(msg_comm_t comm) {
+ xbt_assert0(comm, "Invalid parameters");
+ return (m_task_t) SIMIX_communication_get_src_buf(comm);
+}
+