Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
smpi::ActorExt: this constructor parameter is not used
[simgrid.git] / src / smpi / include / smpi_actor.hpp
index c493f3a..5d22d03 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2009-2018. The SimGrid Team. All rights reserved.          */
+/* Copyright (c) 2009-2019. 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. */
@@ -15,11 +15,10 @@ namespace simgrid {
 namespace smpi {
 
 class ActorExt {
-private:
   double simulated_ = 0 /* Used to time with simulated_start/elapsed */;
-  simgrid::s4u::MailboxPtr mailbox_;
-  simgrid::s4u::MailboxPtr mailbox_small_;
-  xbt_mutex_t mailboxes_mutex_;
+  s4u::Mailbox* mailbox_;
+  s4u::Mailbox* mailbox_small_;
+  s4u::MutexPtr mailboxes_mutex_;
   xbt_os_timer_t timer_;
   MPI_Comm comm_self_   = MPI_COMM_NULL;
   MPI_Comm comm_intra_  = MPI_COMM_NULL;
@@ -28,20 +27,28 @@ private:
   int sampling_ = 0; /* inside an SMPI_SAMPLE_ block? */
   std::string instance_id_;
   bool replaying_ = false; /* is the process replaying a trace */
-  simgrid::s4u::Barrier* finalization_barrier_;
+  s4u::Barrier* finalization_barrier_ = nullptr;
   smpi_trace_call_location_t trace_call_loc_;
-  simgrid::s4u::ActorPtr actor_                  = nullptr;
+  s4u::ActorPtr actor_                           = nullptr;
   smpi_privatization_region_t privatized_region_ = nullptr;
-  int optind                                     = 0; /*for getopt replacement */
+#ifdef __linux__
+  int optind_                                     = 0; /*for getopt replacement */
+#else
+  int optind_                                     = 1; /*for getopt replacement */
+#endif
+  std::string tracing_category_                  = "";
+  MPI_Info info_env_;
+
 #if HAVE_PAPI
   /** Contains hardware data as read by PAPI **/
   int papi_event_set_;
   papi_counter_t papi_counter_data_;
 #endif
 public:
-  explicit ActorExt(simgrid::s4u::ActorPtr actor, simgrid::s4u::Barrier* barrier);
+  explicit ActorExt(s4u::ActorPtr actor);
+  ActorExt(const ActorExt&) = delete;
+  ActorExt& operator=(const ActorExt&) = delete;
   ~ActorExt();
-  void set_data(const char* instance_id);
   void finalize();
   int finalized();
   int initializing();
@@ -49,12 +56,14 @@ public:
   void mark_as_initialized();
   void set_replaying(bool value);
   bool replaying();
+  void set_tracing_category(const std::string& category) { tracing_category_ = category; }
+  const std::string& get_tracing_category() { return tracing_category_; }
   smpi_trace_call_location_t* call_location();
   void set_privatized_region(smpi_privatization_region_t region);
   smpi_privatization_region_t privatized_region();
-  smx_mailbox_t mailbox();
-  smx_mailbox_t mailbox_small();
-  xbt_mutex_t mailboxes_mutex();
+  s4u::Mailbox* mailbox() { return mailbox_; }
+  s4u::Mailbox* mailbox_small() { return mailbox_small_; }
+  s4u::MutexPtr mailboxes_mutex();
 #if HAVE_PAPI
   int papi_event_set();
   papi_counter_t& papi_counters();
@@ -69,9 +78,10 @@ public:
   void set_sampling(int s);
   int sampling();
   static void init();
-  simgrid::s4u::ActorPtr get_actor();
+  s4u::ActorPtr get_actor();
   int get_optind();
   void set_optind(int optind);
+  MPI_Info info_env();
 };
 
 } // namespace smpi