Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
add back tracing of communications in wait/waitany/waitall, should fix #269
[simgrid.git] / src / smpi / include / smpi_process.hpp
index 7477a66..e7c6772 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2009-2010, 2012-2017. The SimGrid Team.
+/* Copyright (c) 2009-2018. The SimGrid Team.
  * All rights reserved.                                                     */
 
 /* This program is free software; you can redistribute it and/or modify it
@@ -28,24 +28,24 @@ class Process {
     MPI_Comm comm_intra_  = MPI_COMM_NULL;
     MPI_Comm* comm_world_ = nullptr;
     void* data_           = nullptr; /* user data */
-    int index_            = MPI_UNDEFINED;
-    char state_;
+    SmpiProcessState state_;
     int sampling_                   = 0; /* inside an SMPI_SAMPLE_ block? */
-    char* instance_id_              = nullptr;
+    std::string instance_id_;
     bool replaying_                 = false; /* is the process replaying a trace */
     msg_bar_t finalization_barrier_;
-    int return_value_ = 0;
     smpi_trace_call_location_t trace_call_loc_;
-    smx_actor_t process_ = nullptr;
+    simgrid::s4u::ActorPtr actor_ = nullptr;
     smpi_privatization_region_t privatized_region_;
+    int optind=0; /*for getopt replacement */
 #if HAVE_PAPI
   /** Contains hardware data as read by PAPI **/
     int papi_event_set_;
     papi_counter_t papi_counter_data_;
 #endif
   public:
-    explicit Process(int index, msg_bar_t barrier);
-    void set_data(int index, int* argc, char*** argv);
+    explicit Process(simgrid::s4u::ActorPtr actor, msg_bar_t barrier);
+    ~Process();
+    void set_data(int* argc, char*** argv);
     void finalize();
     int finalized();
     int initialized();
@@ -57,8 +57,6 @@ class Process {
     smpi_trace_call_location_t* call_location();
     void set_privatized_region(smpi_privatization_region_t region);
     smpi_privatization_region_t privatized_region();
-    int index();
-    MPI_Comm comm_world();
     smx_mailbox_t mailbox();
     smx_mailbox_t mailbox_small();
     xbt_mutex_t mailboxes_mutex();
@@ -69,16 +67,16 @@ class Process {
     xbt_os_timer_t timer();
     void simulated_start();
     double simulated_elapsed();
+    MPI_Comm comm_world();
     MPI_Comm comm_self();
     MPI_Comm comm_intra();
     void set_comm_intra(MPI_Comm comm);
     void set_sampling(int s);
     int sampling();
-    msg_bar_t finalization_barrier();
-    int return_value();
-    void set_return_value(int val);
     static void init(int *argc, char ***argv);
-    smx_actor_t process();
+    simgrid::s4u::ActorPtr get_actor();
+    int get_optind();
+    void set_optind(int optind);
 };