From: Frederic Suter Date: Fri, 26 Feb 2016 15:39:27 +0000 (+0100) Subject: msg_mailbox.h was alone in src/msg X-Git-Tag: v3_13~647^2~9 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/071079858329b6eaa616f1fc2c0b12a441973e17 msg_mailbox.h was alone in src/msg + merge its content to include/simgrid/msg.h + except for the private MSG_mailbox_free + stop including this header everywhere --- diff --git a/include/simgrid/msg.h b/include/simgrid/msg.h index bd7f98280e..98a7fc85ac 100644 --- a/include/simgrid/msg.h +++ b/include/simgrid/msg.h @@ -490,21 +490,58 @@ XBT_PUBLIC(int) MSG_task_listen_from(const char *alias); XBT_PUBLIC(void) MSG_task_set_category (msg_task_t task, const char *category); XBT_PUBLIC(const char *) MSG_task_get_category (msg_task_t task); -/************************** Task handling ************************************/ -XBT_PUBLIC(msg_error_t) - MSG_mailbox_get_task_ext(msg_mailbox_t mailbox, msg_task_t * task, - msg_host_t host, double timeout); +/************************** Mailbox handling ************************************/ +/* @brief MSG_mailbox_new - create a new mailbox. + * Creates a new mailbox identified by the key specified by the parameter alias and add it in the global dictionary. + * @param alias The alias of the mailbox to create. + * @return The newly created mailbox. + */ +XBT_PUBLIC(msg_mailbox_t) MSG_mailbox_new(const char *alias); -XBT_PUBLIC(msg_error_t) - MSG_mailbox_get_task_ext_bounded(msg_mailbox_t mailbox, msg_task_t *task, - msg_host_t host, double timeout, double rate); +/* @brief MSG_mailbox_get_by_alias - get a mailbox from its alias. + * Returns the mailbox associated with the key specified by the parameter alias. If the mailbox does not exists, + * the function creates it. + * @param alias The alias of the mailbox to return. + * @return The mailbox associated with the alias specified as parameter or a new one if the key doesn't match. + */ +XBT_PUBLIC(msg_mailbox_t) MSG_mailbox_get_by_alias(const char *alias); -XBT_PUBLIC(msg_error_t) - MSG_mailbox_put_with_timeout(msg_mailbox_t mailbox, msg_task_t task, - double timeout); +/* @brief MSG_mailbox_is_empty - test if a mailbox is empty. + * Tests if a mailbox is empty (contains no msg task). + * @param mailbox The mailbox to get test. + * @return 1 if the mailbox is empty, 0 otherwise. + */ +XBT_PUBLIC(int) MSG_mailbox_is_empty(msg_mailbox_t mailbox); +/* @brief MSG_mailbox_set_async - set a mailbox as eager + * Sets the mailbox to a permanent receiver mode. Messages sent to this mailbox will then be sent just after the send + * is issued, without waiting for the corresponding receive. + * This call should be done before issuing any receive, and on the receiver's side only + * @param alias The alias of the mailbox to modify. + */ XBT_PUBLIC(void) MSG_mailbox_set_async(const char *alias); +/* @brief MSG_mailbox_get_head - get the task at the head of a mailbox. + * Returns the task at the head of the mailbox. This function does not remove the task from the mailbox. + * @param mailbox The mailbox concerned by the operation. + * @return The task at the head of the mailbox. + */ +XBT_PUBLIC(msg_task_t) MSG_mailbox_get_head(msg_mailbox_t mailbox); + +/* @brief MSG_mailbox_get_count_host_waiting_tasks + * Return the number of tasks waiting to be received in a mailbox and sent by a host. + * @param mailbox The mailbox concerned by the operation. + * @param host The host containing the processes that sended the tasks. + * @return The number of tasks in the mailbox specified by the parameter mailbox and sended by all the + * processes located on the host specified by the parameter host. + */ +XBT_PUBLIC(int) MSG_mailbox_get_count_host_waiting_tasks(msg_mailbox_t mailbox, msg_host_t host); +XBT_PUBLIC(msg_error_t) MSG_mailbox_get_task_ext(msg_mailbox_t mailbox, msg_task_t * task, msg_host_t host, + double timeout); +XBT_PUBLIC(msg_error_t) MSG_mailbox_get_task_ext_bounded(msg_mailbox_t mailbox, msg_task_t *task, msg_host_t host, + double timeout, double rate); +XBT_PUBLIC(msg_error_t) MSG_mailbox_put_with_timeout(msg_mailbox_t mailbox, msg_task_t task, double timeout); + /************************** Action handling **********************************/ XBT_PUBLIC(msg_error_t) MSG_action_trace_run(char *path); diff --git a/src/msg/msg_global.cpp b/src/msg/msg_global.cpp index b3e1877ee5..a37a20d33c 100644 --- a/src/msg/msg_global.cpp +++ b/src/msg/msg_global.cpp @@ -7,7 +7,6 @@ #include "simgrid/msg.h" #include "instr/instr_interface.h" #include "msg_private.h" -#include "msg_mailbox.h" #include "mc/mc.h" #include "xbt/sysdep.h" #include "xbt/log.h" diff --git a/src/msg/msg_gos.cpp b/src/msg/msg_gos.cpp index e89d7d1e79..137787b15f 100644 --- a/src/msg/msg_gos.cpp +++ b/src/msg/msg_gos.cpp @@ -5,7 +5,6 @@ * under the terms of the license (GNU LGPL) which comes with this package. */ #include "msg_private.h" -#include "msg_mailbox.h" #include "mc/mc.h" #include "xbt/log.h" #include "xbt/sysdep.h" diff --git a/src/msg/msg_host.cpp b/src/msg/msg_host.cpp index dde553a203..b5b4fd1088 100644 --- a/src/msg/msg_host.cpp +++ b/src/msg/msg_host.cpp @@ -5,7 +5,6 @@ * under the terms of the license (GNU LGPL) which comes with this package. */ #include "src/msg/msg_private.h" -#include "src/msg/msg_mailbox.h" #include "xbt/sysdep.h" #include "xbt/log.h" #include "simgrid/simix.h" diff --git a/src/msg/msg_io.cpp b/src/msg/msg_io.cpp index 8fd8713b8c..7b4c7f4e21 100644 --- a/src/msg/msg_io.cpp +++ b/src/msg/msg_io.cpp @@ -6,7 +6,6 @@ #include "msg_private.h" #include "xbt/log.h" -#include "msg_mailbox.h" XBT_LOG_NEW_DEFAULT_SUBCATEGORY(msg_io, msg, "Logging specific to MSG (io)"); diff --git a/src/msg/msg_mailbox.cpp b/src/msg/msg_mailbox.cpp index 9f9455c8cf..007284d20f 100644 --- a/src/msg/msg_mailbox.cpp +++ b/src/msg/msg_mailbox.cpp @@ -6,7 +6,7 @@ /* This program is free software; you can redistribute it and/or modify it * under the terms of the license (GNU LGPL) which comes with this package. */ -#include "msg_mailbox.h" +#include "simgrid/msg.h" #include "msg_private.h" XBT_LOG_NEW_DEFAULT_SUBCATEGORY(msg_mailbox, msg, diff --git a/src/msg/msg_mailbox.h b/src/msg/msg_mailbox.h deleted file mode 100644 index 8a7953c7c8..0000000000 --- a/src/msg/msg_mailbox.h +++ /dev/null @@ -1,112 +0,0 @@ -/* Copyright (c) 2008-2015. The SimGrid Team. - * All rights reserved. */ - -/* This program is free software; you can redistribute it and/or modify it - * under the terms of the license (GNU LGPL) which comes with this package. */ - -#ifndef MSG_MAILBOX_H -#define MSG_MAILBOX_H - -#include -#include "xbt/fifo.h" -#include "simgrid/simix.h" -#include "simgrid/msg.h" - - -SG_BEGIN_DECL() -#define MAX_ALIAS_NAME ((size_t)260) - -/*! \brief MSG_mailbox_new - create a new mailbox. - * - * The function MSG_mailbox_new creates a new mailbox identified by the key specified - * by the parameter alias and add it in the global dictionary. - * - * \param alias The alias of the mailbox to create. - * - * \return The newly created mailbox. - */ -XBT_PUBLIC(msg_mailbox_t) - MSG_mailbox_new(const char *alias); - -XBT_PRIVATE void MSG_mailbox_free(void *mailbox); - -/* \brief MSG_mailbox_free - release a mailbox from the memory. - * - * The function MSG_mailbox_free release a mailbox from the memory but does - * not remove it from the dictionary. - * - * \param mailbox The mailbox to release. - * - * \see MSG_mailbox_destroy. - */ -XBT_PRIVATE void MSG_mailbox_free(void *mailbox); - -/* \brief MSG_mailbox_get_by_alias - get a mailbox from its alias. - * - * The function MSG_mailbox_get_by_alias returns the mailbox associated with - * the key specified by the parameter alias. If the mailbox does not exists, - * the function create it. - * - * \param alias The alias of the mailbox to return. - * - * \return The mailbox associated with the alias specified as parameter - * or a new mailbox if the key does not match. - */ -XBT_PUBLIC(msg_mailbox_t) - MSG_mailbox_get_by_alias(const char *alias); - -/*! \brief MSG_mailbox_is_empty - test if a mailbox is empty. - * - * The function MSG_mailbox_is_empty tests if a mailbox is empty - * (contains no msg task). - * - * \param mailbox The mailbox to get test. - * - * \return The function returns 1 if the mailbox is empty. Otherwise the function - * returns 0. - */ -XBT_PUBLIC(int) MSG_mailbox_is_empty(msg_mailbox_t mailbox); - -/* \brief MSG_mailbox_set_async - set a mailbox as eager - * - * The function MSG_mailbox_set_async sets the mailbox to a permanent receiver mode - * Messages sent to this mailbox will then be sent just after the send is issued, - * without waiting for the corresponding receive. - * - * This call should be done before issuing any receive, and on the receiver's side only - * - * \param alias The alias of the mailbox to modify. - * - */ -XBT_PUBLIC(void) MSG_mailbox_set_async(const char *alias); - -/*! \brief MSG_mailbox_get_head - get the task at the head of a mailbox. - * - * The MSG_mailbox_get_head returns the task at the head of the mailbox. - * This function does not remove the task from the mailbox (contrary to - * the function MSG_mailbox_pop_head). - * - * \param mailbox The mailbox concerned by the operation. - * - * \return The task at the head of the mailbox. - */ -XBT_PUBLIC(msg_task_t) - MSG_mailbox_get_head(msg_mailbox_t mailbox); - -/*! \brief MSG_mailbox_get_count_host_waiting_tasks - Return the number of tasks - waiting to be received in a mailbox and sent by a host. - * - * \param mailbox The mailbox concerned by the operation. - * \param host The msg host containing the processes that have sended the - * tasks. - * - * \return The number of tasks in the mailbox specified by the - * parameter mailbox and sended by all the processes located - * on the host specified by the parameter host. - */ -XBT_PUBLIC(int) -MSG_mailbox_get_count_host_waiting_tasks(msg_mailbox_t mailbox, - msg_host_t host); - -SG_END_DECL() -#endif /* !MSG_MAILBOX_H */ diff --git a/src/msg/msg_private.h b/src/msg/msg_private.h index fdca8f17c1..ee4720ee1b 100644 --- a/src/msg/msg_private.h +++ b/src/msg/msg_private.h @@ -162,6 +162,11 @@ XBT_PRIVATE void MSG_post_create_environment(void); XBT_PRIVATE void MSG_host_add_task(msg_host_t host, msg_task_t task); XBT_PRIVATE void MSG_host_del_task(msg_host_t host, msg_task_t task); +/* @brief MSG_mailbox_free - release a mailbox from the memory. + * Releases a mailbox from the memory but does not remove it from the dictionary. + * @param mailbox The mailbox to release. + */ +XBT_PRIVATE void MSG_mailbox_free(void *mailbox); /********** Tracing **********/ /* declaration of instrumentation functions from msg_task_instr.c */ diff --git a/src/s4u/s4u_actor.cpp b/src/s4u/s4u_actor.cpp index 8344b43178..daf355bdc3 100644 --- a/src/s4u/s4u_actor.cpp +++ b/src/s4u/s4u_actor.cpp @@ -6,7 +6,6 @@ #include "xbt/log.h" #include "src/msg/msg_private.h" -#include "src/msg/msg_mailbox.h" #include "simgrid/s4u/actor.hpp" #include "simgrid/s4u/comm.hpp" diff --git a/src/s4u/s4u_async.cpp b/src/s4u/s4u_async.cpp index 331ef22d0e..183803d3c3 100644 --- a/src/s4u/s4u_async.cpp +++ b/src/s4u/s4u_async.cpp @@ -6,7 +6,6 @@ #include "xbt/log.h" #include "src/msg/msg_private.h" -#include "src/msg/msg_mailbox.h" #include "simgrid/s4u/async.hpp" diff --git a/src/s4u/s4u_comm.cpp b/src/s4u/s4u_comm.cpp index 6cd9f1250f..9dbd00d531 100644 --- a/src/s4u/s4u_comm.cpp +++ b/src/s4u/s4u_comm.cpp @@ -6,7 +6,6 @@ #include "xbt/log.h" #include "src/msg/msg_private.h" -#include "src/msg/msg_mailbox.h" #include "simgrid/s4u/comm.hpp" diff --git a/src/s4u/s4u_file.cpp b/src/s4u/s4u_file.cpp index 5da4b49e27..65c4557019 100644 --- a/src/s4u/s4u_file.cpp +++ b/src/s4u/s4u_file.cpp @@ -5,7 +5,6 @@ #include "xbt/log.h" #include "src/msg/msg_private.h" -#include "src/msg/msg_mailbox.h" #include "simgrid/s4u/actor.hpp" #include "simgrid/s4u/comm.hpp" diff --git a/src/s4u/s4u_mailbox.cpp b/src/s4u/s4u_mailbox.cpp index c5be189914..14f59b4c48 100644 --- a/src/s4u/s4u_mailbox.cpp +++ b/src/s4u/s4u_mailbox.cpp @@ -6,7 +6,6 @@ #include "xbt/log.h" #include "src/msg/msg_private.h" -#include "src/msg/msg_mailbox.h" #include "simgrid/s4u/mailbox.hpp" diff --git a/tools/cmake/DefinePackages.cmake b/tools/cmake/DefinePackages.cmake index cc808afb2d..67e5b35211 100644 --- a/tools/cmake/DefinePackages.cmake +++ b/tools/cmake/DefinePackages.cmake @@ -15,7 +15,6 @@ set(EXTRA_DIST src/include/surf/surf.h src/include/xbt/win32_ucontext.h src/include/xbt/wine_dbghelp.h - src/msg/msg_mailbox.h src/msg/msg_private.h src/portable.h src/probes.tp