Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Use msg_process_t instead of m_process_t
[simgrid.git] / include / msg / datatypes.h
index b081c6b..afd2441 100644 (file)
@@ -1,5 +1,4 @@
-/* Copyright (c) 2004, 2005, 2007, 2008, 2009, 2010. The SimGrid Team.
- * All rights reserved.                                                     */
+/* Copyright (c) 2004-2012. 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. */
@@ -8,21 +7,37 @@
 #define MSG_DATATYPE_H
 #include "xbt/misc.h"
 #include "xbt/file_stat.h"
+#include "simgrid/simix.h"
 #include "simgrid_config.h"     // for HAVE_TRACING
 
 SG_BEGIN_DECL()
 
-/* ******************************** Host ************************************ */
+/* ******************************** Mailbox ************************************ */
+
+/** @brief Mailbox datatype
+ *  @ingroup msg_task_usage
+ *
+ * Object representing a communication rendez-vous point, on which
+ * the sender finds the receiver it wants to communicate with. As a
+ * MSG user, you will only rarely manipulate any of these objects
+ * directly, since most of the public interface (such as
+ * #MSG_task_send and friends) hide this object behind a string
+ * alias. That mean that you don't provide the mailbox on which you
+ * want to send your task, but only the name of this mailbox. */
+typedef struct s_smx_rvpoint *msg_mailbox_t;
+
 
-typedef struct simdata_host *simdata_host_t;
+/* ******************************** Host ************************************ */
 
 typedef struct m_host {
-  char *name;                   /**< @brief host name if any */
-  simdata_host_t simdata;       /**< @brief simulator data */
-  void *data;                   /**< @brief user data */
+  xbt_swag_t vms;
+  smx_host_t smx_host;          /**< SIMIX representation of this host   */
+#ifdef MSG_USE_DEPRECATED
+  msg_mailbox_t *mailboxes;     /**< the channels  */
+#endif
 } s_m_host_t;
 
-/** @brief Host datatype  
+/** @brief Host datatype.
     @ingroup m_host_management
 
     A <em>location</em> (or <em>host</em>) is any possible place where
@@ -48,7 +63,7 @@ typedef struct m_task {
 #endif
 } s_m_task_t;
 
-/** @brief Task datatype  
+/** @brief Task datatype.
     @ingroup m_task_management 
 
     A <em>task</em> may then be defined by a <em>computing
@@ -89,7 +104,7 @@ typedef struct m_gpu_task {
 #endif
 } s_m_gpu_task_t;
 
-/** @brief GPU task datatype
+/** @brief GPU task datatype.
     @ingroup m_task_management
 
     A <em>task</em> may then be defined by a <em>computing
@@ -101,10 +116,9 @@ typedef struct m_gpu_task *m_gpu_task_t;
 
 /**
  * \brief @brief Communication action.
- * \ingroup m_datatypes_management
+ * \ingroup msg_task_usage
  *
- * Communication actions transfer tasks between processes.
- * For a given task, the sender and the receiver have distinct objects.
+ * Object representing an ongoing communication between processes. Such beast is usually obtained by using #MSG_task_isend, #MSG_task_irecv or friends.
  */
 typedef struct msg_comm *msg_comm_t;
 
@@ -125,19 +139,14 @@ typedef struct msg_comm *msg_comm_t;
     structure, but always use the provided API to interact with
     processes.
  */
-typedef struct s_smx_process *m_process_t;
+typedef struct s_smx_process *msg_process_t;
+
+/* Compatibility typedefs */
+typedef msg_process_t m_process_t;
 
 #ifdef MSG_USE_DEPRECATED
 typedef int m_channel_t;
 #endif
 
-/* ******************************** Mailbox ************************************ */
-
-/** @brief Mailbox datatype
-    @ingroup m_datatypes_management
- */
-typedef struct s_smx_rvpoint *msg_mailbox_t;
-
-
 SG_END_DECL()
 #endif