Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Specialize parameter for simcall comm_waitany.
[simgrid.git] / src / kernel / activity / ExecImpl.hpp
index 0e6b57e..117831a 100644 (file)
@@ -7,6 +7,7 @@
 #define SIMIX_SYNCHRO_EXEC_HPP
 
 #include "src/kernel/activity/ActivityImpl.hpp"
+#include "src/kernel/context/Context.hpp"
 #include "surf/surf.hpp"
 
 namespace simgrid {
@@ -19,11 +20,10 @@ class XBT_PUBLIC ExecImpl : public ActivityImpl {
 public:
   explicit ExecImpl(std::string name, std::string tracing_category, resource::Action* timeout_detector,
                     s4u::Host* host);
-  void start(double flops_amount, double priority, double bound);
-  void suspend() override;
-  void resume() override;
+  ExecImpl* start(double flops_amount, double priority, double bound);
   void cancel();
   void post() override;
+  void finish() override;
   double get_remaining();
   double get_remaining_ratio();
   void set_bound(double bound);
@@ -37,11 +37,9 @@ private:
   resource::Action* timeout_detector_ = nullptr;
 
 public:
-  static simgrid::xbt::signal<void(kernel::activity::ExecImplPtr)> on_creation;
-  static simgrid::xbt::signal<void(kernel::activity::ExecImplPtr)> on_completion;
-  static simgrid::xbt::signal<void(kernel::activity::ExecImplPtr)> on_suspended;
-  static simgrid::xbt::signal<void(kernel::activity::ExecImplPtr)> on_resumed;
-  static simgrid::xbt::signal<void(simgrid::kernel::activity::ExecImplPtr, simgrid::s4u::Host*)> on_migration;
+  static simgrid::xbt::signal<void(ExecImplPtr)> on_creation;
+  static simgrid::xbt::signal<void(ExecImplPtr)> on_completion;
+  static simgrid::xbt::signal<void(ExecImplPtr, simgrid::s4u::Host*)> on_migration;
 };
 }
 }