Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Define SIMIX_process_on_exit() taking a std::function.
[simgrid.git] / include / simgrid / s4u / Actor.hpp
index 25f2ede..6d6c6d8 100644 (file)
@@ -6,23 +6,11 @@
 #ifndef SIMGRID_S4U_ACTOR_HPP
 #define SIMGRID_S4U_ACTOR_HPP
 
-#include <atomic>
-#include <chrono>
-#include <functional>
-#include <memory>
-#include <stdexcept>
-#include <string>
-#include <type_traits>
-#include <utility>
-#include <vector>
-
+#include <simgrid/chrono.hpp>
 #include <xbt/Extendable.hpp>
 #include <xbt/functional.hpp>
-#include <xbt/string.hpp>
 #include <xbt/signal.hpp>
-
-#include <simgrid/chrono.hpp>
-#include <simgrid/s4u/forward.hpp>
+#include <xbt/string.hpp>
 
 namespace simgrid {
 namespace s4u {
@@ -164,6 +152,18 @@ public:
 
   /** Signal to others that a new actor has been created **/
   static simgrid::xbt::signal<void(simgrid::s4u::ActorPtr)> on_creation;
+  /** Signal to others that an actor has been suspended**/
+  static simgrid::xbt::signal<void(simgrid::s4u::ActorPtr)> on_suspend;
+  /** Signal to others that an actor has been resumed **/
+  static simgrid::xbt::signal<void(simgrid::s4u::ActorPtr)> on_resume;
+  /** Signal to others that an actor is sleeping **/
+  static simgrid::xbt::signal<void(simgrid::s4u::ActorPtr)> on_sleep;
+  /** Signal to others that an actor wakes up for a sleep **/
+  static simgrid::xbt::signal<void(simgrid::s4u::ActorPtr)> on_wake_up;
+  /** Signal to others that an actor is going to migrated to another host**/
+  static simgrid::xbt::signal<void(simgrid::s4u::ActorPtr)> on_migration_start;
+  /** Signal to others that an actor is has been migrated to another host **/
+  static simgrid::xbt::signal<void(simgrid::s4u::ActorPtr)> on_migration_end;
   /** Signal indicating that the given actor is about to disappear */
   static simgrid::xbt::signal<void(simgrid::s4u::ActorPtr)> on_destruction;