Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Remove unused typedefs.
[simgrid.git] / src / kernel / activity / ExecImpl.hpp
index 2fe76ae..24f8467 100644 (file)
@@ -18,17 +18,23 @@ XBT_PUBLIC_CLASS ExecImpl : public ActivityImpl
   ~ExecImpl() override;
 
 public:
-  ExecImpl(const char* name, sg_host_t host);
+  explicit ExecImpl(const char* name, sg_host_t host);
   void suspend() override;
   void resume() override;
   void post() override;
   double remains();
+  double remainingRatio();
+  void setBound(double bound);
+  virtual ActivityImpl* migrate(s4u::Host* to);
 
-  sg_host_t host_ =
-      nullptr; /* The host where the execution takes place. If nullptr, then this is a parallel exec (and only surf
-                  knows the hosts) */
-  surf_action_t surf_exec       = nullptr; /* The Surf execution action encapsulated */
+  /* The host where the execution takes place. nullptr means this is a parallel exec (and only surf knows the hosts) */
+  sg_host_t host_               = nullptr;
+  surf_action_t surfAction_     = nullptr; /* The Surf execution action encapsulated */
   surf::Action* timeoutDetector = nullptr;
+  static simgrid::xbt::signal<void(kernel::activity::ExecImplPtr)> onCreation;
+  static simgrid::xbt::signal<void(kernel::activity::ExecImplPtr)> onCompletion;
+  static simgrid::xbt::signal<void(simgrid::kernel::activity::ExecImplPtr, simgrid::s4u::Host*)> onMigration;
+
 };
 }
 }