Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
[s4u] Add member initializers
[simgrid.git] / src / simix / SynchroExec.hpp
index 27b62fd..e52d59d 100644 (file)
@@ -6,15 +6,23 @@
 #ifndef _SIMIX_SYNCHRO_EXEC_HPP
 #define _SIMIX_SYNCHRO_EXEC_HPP
 
+#include "surf/surf.h"
 #include "src/simix/Synchro.h"
 
 namespace simgrid {
 namespace simix {
 
   XBT_PUBLIC_CLASS Exec : public Synchro {
+    ~Exec() override;
   public:
-    sg_host_t host;                /* The host where the execution takes place */
-    surf_action_t surf_exec;        /* The Surf execution action encapsulated */
+    Exec(const char*name, sg_host_t host);
+    void suspend() override;
+    void resume() override;
+    void post() override;
+    double remains();
+
+    sg_host_t host = nullptr; /* The host where the execution takes place. If NULL, then this is a parallel exec (and only surf knows the hosts) */
+    surf_action_t surf_exec = nullptr; /* The Surf execution action encapsulated */
   };
 
 }} // namespace simgrid::simix