Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Remove features marked with XBT_ATTRIB_DEPRECATED_v325.
[simgrid.git] / src / msg / msg_private.hpp
index 951f37e..35c3ee5 100644 (file)
@@ -86,15 +86,19 @@ public:
 };
 
 class Comm {
+  msg_error_t status_ = MSG_OK; /* status of the communication once finished */
 public:
   Task* task_sent;             /* task sent (NULL for the receiver) */
   Task** task_received;        /* where the task will be received (NULL for the sender) */
   s4u::CommPtr s_comm;         /* SIMIX communication object encapsulated (the same for both processes) */
-  msg_error_t status = MSG_OK; /* status of the communication once finished */
   Comm(msg_task_t sent, msg_task_t* received, s4u::CommPtr comm)
       : task_sent(sent), task_received(received), s_comm(std::move(comm))
   {
   }
+  bool test();
+  msg_error_t wait_for(double timeout);
+  void set_status(msg_error_t status) { status_ = status; }
+  msg_error_t get_status() { return status_; }
 };
 
 class ActorUserData {
@@ -111,17 +115,15 @@ public:
 } // namespace simgrid
 
 /************************** Global variables ********************************/
-struct s_MSG_Global_t {
-  bool debug_multiple_use;           /* whether we want an error message when reusing the same Task for 2 things */
+struct MSG_Global_t {
+  static bool debug_multiple_use;    /* whether we want an error message when reusing the same Task for 2 things */
   std::atomic_int_fast32_t sent_msg; /* Total amount of messages sent during the simulation */
   void (*task_copy_callback)(msg_task_t task, msg_process_t src, msg_process_t dst);
   void_f_pvoid_t process_data_cleanup;
 };
-typedef s_MSG_Global_t* MSG_Global_t;
 
-XBT_PUBLIC_DATA MSG_Global_t msg_global;
+XBT_PUBLIC_DATA MSG_Global_t* msg_global;
 
 /*************************************************************/
-XBT_PRIVATE void MSG_comm_copy_data_from_SIMIX(simgrid::kernel::activity::CommImpl* comm, void* buff, size_t buff_size);
 
 #endif