Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Delete some warning during the ref_guide build
[simgrid.git] / src / msg / msg_mailbox.c
index e93ee57..45207d6 100644 (file)
@@ -9,6 +9,10 @@
 #include "msg_mailbox.h"
 #include "msg_private.h"
 
+/** @addtogroup m_mailbox_management
+ *  \brief functions to manage mailbox
+ */
+
 XBT_LOG_NEW_DEFAULT_SUBCATEGORY(msg_mailbox, msg,
                                 "Logging specific to MSG (mailbox)");
 
@@ -27,14 +31,14 @@ int MSG_mailbox_is_empty(msg_mailbox_t mailbox)
   return (NULL == simcall_rdv_get_head(mailbox));
 }
 
-m_task_t MSG_mailbox_get_head(msg_mailbox_t mailbox)
+msg_task_t MSG_mailbox_get_head(msg_mailbox_t mailbox)
 {
   smx_action_t comm = simcall_rdv_get_head(mailbox);
 
   if (!comm)
     return NULL;
 
-  return (m_task_t) simcall_comm_get_src_data(comm);
+  return (msg_task_t) simcall_comm_get_src_data(comm);
 }
 
 int
@@ -56,12 +60,32 @@ msg_mailbox_t MSG_mailbox_get_by_alias(const char *alias)
   return mailbox;
 }
 
-MSG_error_t
-MSG_mailbox_get_task_ext(msg_mailbox_t mailbox, m_task_t * task,
+void MSG_mailbox_set_async(const char *alias){
+  msg_mailbox_t mailbox = MSG_mailbox_get_by_alias(alias);
+
+  simcall_rdv_set_receiver(mailbox, SIMIX_process_self());
+  XBT_VERB("%s mailbox set to receive eagerly for process %p\n",alias, SIMIX_process_self());
+
+}
+
+/* \ingroup m_mailbox_management
+ * \brief Get a task from a mailbox on a given host
+ *
+ * \param mailbox The mailbox where the task was sent
+ * \param task a memory location for storing a #msg_task_t.
+ * \param host a #msg_host_t host from where the task was sent
+ * \param timeout a timeout
+
+ * \return Returns
+ * #MSG_OK if the task was successfully received,
+ * #MSG_HOST_FAILURE, or #MSG_TRANSFER_FAILURE otherwise.
+ */
+msg_error_t
+MSG_mailbox_get_task_ext(msg_mailbox_t mailbox, msg_task_t * task,
                          msg_host_t host, double timeout)
 {
   xbt_ex_t e;
-  MSG_error_t ret = MSG_OK;
+  msg_error_t ret = MSG_OK;
   /* We no longer support getting a task from a specific host */
   if (host)
     THROW_UNIMPLEMENTED;
@@ -108,12 +132,12 @@ MSG_mailbox_get_task_ext(msg_mailbox_t mailbox, m_task_t * task,
   MSG_RETURN(ret);
 }
 
-MSG_error_t
-MSG_mailbox_put_with_timeout(msg_mailbox_t mailbox, m_task_t task,
+msg_error_t
+MSG_mailbox_put_with_timeout(msg_mailbox_t mailbox, msg_task_t task,
                              double timeout)
 {
   xbt_ex_t e;
-  MSG_error_t ret = MSG_OK;
+  msg_error_t ret = MSG_OK;
   simdata_task_t t_simdata = NULL;
   msg_process_t process = MSG_process_self();
   simdata_process_t p_simdata = SIMIX_process_self_get_data(process);