Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Rename popping.cpp -> simcall.cpp to better reflect its content.
[simgrid.git] / src / kernel / actor / ActorImpl.hpp
index c18ae4c1c41d5bbf039b9b18b402452dfaf3cd23..a8f893e7d83782ca32aa02894b3f268bf940bc29 100644 (file)
@@ -8,7 +8,7 @@
 
 #include "simgrid/kernel/Timer.hpp"
 #include "simgrid/s4u/Actor.hpp"
-#include "src/simix/popping_private.hpp"
+#include "src/simix/simcall.hpp"
 #include "xbt/PropertyHolder.hpp"
 #include <boost/intrusive/list.hpp>
 #include <functional>
@@ -28,6 +28,9 @@ class XBT_PUBLIC ActorImpl : public xbt::PropertyHolder {
   bool auto_restart_ = false;
   unsigned stacksize_; // set to default value in constructor
 
+  std::vector<activity::MailboxImpl*> mailboxes;
+  friend activity::MailboxImpl;
+
 public:
   xbt::string name_;
   ActorImpl(xbt::string name, s4u::Host* host);
@@ -70,8 +73,7 @@ public:
 
   activity::ActivityImplPtr waiting_synchro_ = nullptr; /* the current blocking synchro if any */
   std::list<activity::ActivityImplPtr> activities_;     /* the current non-blocking synchros */
-  s_smx_simcall simcall_;
-  std::vector<SimcallObserver*> observer_stack_;
+  simix::Simcall simcall_;
   /* list of functions executed when the actor dies */
   std::shared_ptr<std::vector<std::function<void(bool)>>> on_exit =
       std::make_shared<std::vector<std::function<void(bool)>>>();