#include "src/kernel/activity/ActivityImpl.hpp"
#include "surf/surf.hpp"
+#include "xbt/Extendable.hpp"
namespace simgrid {
namespace kernel {
namespace activity {
-XBT_PUBLIC_CLASS ExecImpl : public ActivityImpl
+XBT_PUBLIC_CLASS ExecImpl : public ActivityImpl, public simgrid::xbt::Extendable<ExecImpl>
{
~ExecImpl() override;
void resume() override;
void post() override;
double remains();
+ double remainingRatio();
/* The host where the execution takes place. If nullptr, then 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)> onDestruction;
};
}
}