X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/4542c9b5320d863afc041a1d9eada0f27e133086..19e1048a7009c4144b0f361ad85fb9dff44761ea:/include/simgrid/s4u/Exec.hpp diff --git a/include/simgrid/s4u/Exec.hpp b/include/simgrid/s4u/Exec.hpp index ac5b5f6c53..c4ac5542d8 100644 --- a/include/simgrid/s4u/Exec.hpp +++ b/include/simgrid/s4u/Exec.hpp @@ -30,10 +30,11 @@ namespace s4u { * @endrst */ class XBT_PUBLIC Exec : public Activity_T { +#ifndef DOXYGEN friend kernel::activity::ExecImpl; +#endif + bool parallel_ = false; - double start_time_ = -1.0; - double finish_time_ = -1.0; protected: explicit Exec(kernel::activity::ExecImplPtr pimpl); @@ -53,9 +54,16 @@ public: /*! take a vector of s4u::ExecPtr and return when one of them is finished. * The return value is the rank of the first finished ExecPtr. */ - static int wait_any(std::vector* execs) { return wait_any_for(execs, -1); } + static ssize_t wait_any(const std::vector& execs) { return wait_any_for(execs, -1); } /*! Same as wait_any, but with a timeout. If the timeout occurs, parameter last is returned.*/ - static int wait_any_for(std::vector* execs, double timeout); + static ssize_t wait_any_for(const std::vector& execs, double timeout); + +#ifndef DOXYGEN + XBT_ATTRIB_DEPRECATED_v332("Please use a plain vector for parameter") + static int wait_any(std::vector* execs) { return static_cast(wait_any_for(*execs, -1)); } + XBT_ATTRIB_DEPRECATED_v332("Please use a plain vector for first parameter") + static int wait_any_for(std::vector* execs, double timeout) { return static_cast(wait_any_for(*execs, timeout)); } +#endif /** @brief On sequential executions, returns the amount of flops that remain to be done; This cannot be used on * parallel executions. */ @@ -70,13 +78,14 @@ public: ExecPtr set_bound(double bound); ExecPtr set_priority(double priority); +#ifndef DOXYGEN XBT_ATTRIB_DEPRECATED_v329("Please use exec_init(...)->wait_for(timeout)") ExecPtr set_timeout(double timeout); +#endif Host* get_host() const; unsigned int get_host_number() const; - double get_start_time() const { return start_time_; } - double get_finish_time() const { return finish_time_; } - void set_finish_time(double finish_time) { finish_time_ = finish_time; } + double get_start_time() const; + double get_finish_time() const; double get_cost() const; bool is_parallel() const { return parallel_; } bool is_assigned() const override;