+ from simgrid import Exec
+
+ .. autoclass:: simgrid.Exec
+
+ .. group-tab:: C
+
+ .. code-block:: C
+
+ #include <simgrid/exec.h>
+
+ .. doxygentypedef:: sg_exec_t
+ .. doxygentypedef:: const_sg_exec_t
+
+Querying info
+-------------
+
+.. tabs::
+
+ .. group-tab:: C++
+
+ .. doxygenfunction:: simgrid::s4u::Exec::get_cost() const
+ .. doxygenfunction:: simgrid::s4u::Exec::get_finish_time() const
+ .. doxygenfunction:: simgrid::s4u::Exec::get_host() const
+ .. doxygenfunction:: simgrid::s4u::Exec::get_host_number() const
+ .. doxygenfunction:: simgrid::s4u::Exec::get_remaining
+ .. doxygenfunction:: simgrid::s4u::Exec::get_remaining_ratio
+ .. doxygenfunction:: simgrid::s4u::Exec::get_start_time() const
+ .. doxygenfunction:: simgrid::s4u::Exec::set_bound(double bound)
+ .. doxygenfunction:: simgrid::s4u::Exec::set_host
+ .. doxygenfunction:: simgrid::s4u::Exec::set_priority(double priority)
+
+ .. group-tab:: Python
+
+ .. autoattribute:: simgrid.Exec.host
+ .. autoattribute:: simgrid.Exec.remaining
+ .. autoattribute:: simgrid.Exec.remaining_ratio
+
+ .. group-tab:: C
+
+ .. doxygenfunction:: sg_exec_set_bound(sg_exec_t exec, double bound)
+ .. doxygenfunction:: sg_exec_get_name(const_sg_exec_t exec)
+ .. doxygenfunction:: sg_exec_set_name(sg_exec_t exec, const char* name)
+ .. doxygenfunction:: sg_exec_set_host(sg_exec_t exec, sg_host_t new_host)
+ .. doxygenfunction:: sg_exec_get_remaining(const_sg_exec_t exec)
+ .. doxygenfunction:: sg_exec_get_remaining_ratio(const_sg_exec_t exec)
+
+Life cycle
+----------
+
+.. tabs::
+
+ .. group-tab:: C++
+
+ .. doxygenfunction:: simgrid::s4u::Exec::cancel
+ .. doxygenfunction:: simgrid::s4u::Exec::start
+ .. doxygenfunction:: simgrid::s4u::Exec::test
+ .. doxygenfunction:: simgrid::s4u::Exec::wait
+ .. doxygenfunction:: simgrid::s4u::Exec::wait_any(const std::vector< ExecPtr >& execs)
+ .. doxygenfunction:: simgrid::s4u::Exec::wait_any_for(const std::vector< ExecPtr >& execs, double timeout)
+ .. doxygenfunction:: simgrid::s4u::Exec::wait_for
+
+ .. group-tab:: Python
+
+ .. automethod:: simgrid.Exec.cancel
+ .. automethod:: simgrid.Exec.start
+ .. automethod:: simgrid.Exec.test
+ .. automethod:: simgrid.Exec.wait
+
+ .. group-tab:: C
+
+ .. doxygenfunction:: sg_exec_start(sg_exec_t exec)
+ .. doxygenfunction:: sg_exec_cancel(sg_exec_t exec);
+ .. doxygenfunction:: sg_exec_test(sg_exec_t exec);
+ .. doxygenfunction:: sg_exec_wait(sg_exec_t exec);
+ .. doxygenfunction:: sg_exec_wait_for(sg_exec_t exec, double timeout);
+ .. doxygenfunction:: sg_exec_wait_any_for(sg_exec_t* execs, size_t count, double timeout);
+ .. doxygenfunction:: sg_exec_wait_any(sg_exec_t* execs, size_t count);
+
+Signals
+-------
+
+.. tabs::
+
+ .. group-tab:: C++
+
+ .. doxygenvariable:: simgrid::s4u::Exec::on_start
+ .. doxygenvariable:: simgrid::s4u::Exec::on_completion