X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/272ccad1b68b6d9c17069f3c934886925bb15b5d..c941a6b513a71ef786c4c749f8c01f5d018d976c:/src/msg/msg_mailbox.h diff --git a/src/msg/msg_mailbox.h b/src/msg/msg_mailbox.h index c59c17f800..8a7953c7c8 100644 --- a/src/msg/msg_mailbox.h +++ b/src/msg/msg_mailbox.h @@ -1,15 +1,16 @@ -/* Copyright (c) 2008, 2009, 2010. The SimGrid Team. +/* 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. */ + * 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 "msg/datatypes.h" +#include "simgrid/msg.h" SG_BEGIN_DECL() @@ -27,7 +28,7 @@ SG_BEGIN_DECL() XBT_PUBLIC(msg_mailbox_t) MSG_mailbox_new(const char *alias); -void MSG_mailbox_free(void *mailbox); +XBT_PRIVATE void MSG_mailbox_free(void *mailbox); /* \brief MSG_mailbox_free - release a mailbox from the memory. * @@ -38,7 +39,7 @@ void MSG_mailbox_free(void *mailbox); * * \see MSG_mailbox_destroy. */ -void MSG_mailbox_free(void *mailbox); +XBT_PRIVATE void MSG_mailbox_free(void *mailbox); /* \brief MSG_mailbox_get_by_alias - get a mailbox from its alias. * @@ -66,6 +67,19 @@ XBT_PUBLIC(msg_mailbox_t) */ 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. @@ -76,7 +90,7 @@ XBT_PUBLIC(int) MSG_mailbox_is_empty(msg_mailbox_t mailbox); * * \return The task at the head of the mailbox. */ -XBT_PUBLIC(m_task_t) +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 @@ -92,25 +106,7 @@ XBT_PUBLIC(m_task_t) */ XBT_PUBLIC(int) MSG_mailbox_get_count_host_waiting_tasks(msg_mailbox_t mailbox, - m_host_t host); - -#ifdef MSG_USE_DEPRECATED -/* \brief MSG_mailbox_get_by_channel - get a mailbox of the specified host from its channel. - * - * The function MSG_mailbox_get_by_channel returns the mailbox of the - * specified host from the channel specified by the parameter - * channel. If the mailbox does not exists, the function fails. - * - * \param host The host containing he mailbox to get. - * \param channel The channel used to identify the mailbox. - * - * \return The mailbox of the specified host associated the channel - * specified as parameter. - * - */ -XBT_PUBLIC(msg_mailbox_t) - MSG_mailbox_get_by_channel(m_host_t host, m_channel_t channel); -#endif + msg_host_t host); SG_END_DECL() #endif /* !MSG_MAILBOX_H */