return xbt_fifo_get_item_content(xbt_fifo_get_first_item(rdv->comm_fifo));
}
+/**
+ * \brief get the receiver (process associated to the mailbox)
+ * \param rdv The rendez-vous point
+ * \return process The receiving process (NULL if not set)
+ */
+smx_process_t SIMIX_rdv_get_receiver(smx_rdv_t rdv)
+{
+ return rdv->permanent_receiver;
+}
+
+/**
+ * \brief set the receiver of the rendez vous point to allow eager sends
+ * \param rdv The rendez-vous point
+ * \param process The receiving process
+ */
+void SIMIX_rdv_set_receiver(smx_rdv_t rdv , smx_process_t process)
+{
+ rdv->permanent_receiver=process;
+}
+
/**
* \brief Pushes a communication action into a rendez-vous point
* \param rdv The rendez-vous point
}
void SIMIX_comm_copy_buffer_callback(smx_action_t comm, void* buff, size_t buff_size)
-{
- XBT_DEBUG("Copy the data over");
- memcpy(comm->comm.dst_buff, buff, buff_size);
-}
-
-void smpi_comm_copy_data_callback(smx_action_t comm, void* buff, size_t buff_size)
{
XBT_DEBUG("Copy the data over");
memcpy(comm->comm.dst_buff, buff, buff_size);
}
}
+
/**
* \brief Copy the communication data from the sender's buffer to the receiver's one
* \param comm The communication