X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/f3b7e5f4b4d7c87ee3e8827313ec966ea8fc8387..eb751b95942cdeafc02915c4289add5232513afb:/include/simgrid/s4u/Exec.hpp diff --git a/include/simgrid/s4u/Exec.hpp b/include/simgrid/s4u/Exec.hpp index b15ed1b7d9..afc242f094 100644 --- a/include/simgrid/s4u/Exec.hpp +++ b/include/simgrid/s4u/Exec.hpp @@ -1,4 +1,4 @@ -/* Copyright (c) 2017-2020. The SimGrid Team. All rights reserved. */ +/* Copyright (c) 2017-2021. The SimGrid Team. All rights reserved. */ /* This program is free software; you can redistribute it and/or modify it * under the terms of the license (GNU LGPL) which comes with this package. */ @@ -37,18 +37,21 @@ class XBT_PUBLIC Exec : public Activity_T { std::vector bytes_amounts_; std::vector hosts_; bool parallel_ = false; + double start_time_ = -1.0; + double finish_time_ = -1.0; + Exec(); public: - Exec(); ~Exec() override = default; #ifndef DOXYGEN Exec(Exec const&) = delete; Exec& operator=(Exec const&) = delete; #endif - static xbt::signal on_start; - static xbt::signal on_completion; + static xbt::signal on_start; + static xbt::signal on_completion; + static ExecPtr init(); Exec* start() override; /** @brief On sequential executions, returns the amount of flops that remain to be done; This cannot be used on * parallel executions. */ @@ -76,10 +79,11 @@ public: Exec* cancel() override; Host* get_host() const; unsigned int get_host_number() const; - double get_start_time() const; + double get_start_time() const { return start_time_; } double get_finish_time() const; double get_cost() const; bool is_parallel() const { return parallel_; } + bool is_assigned() const override { return not hosts_.empty(); } }; } // namespace s4u