Starting and Stopping Actors
----------------------------
+.. _s4u_ex_actors_create:
+
Creating actors
^^^^^^^^^^^^^^^
This example shows how to attach a callback to:
- the end of a specific actor: :cpp:func:`simgrid::s4u::Actor::on_exit()`
- - the end of any actor: :cpp:member:`simgrid::s4u::Actor::on_termination()`
- - the destruction of any actor: :cpp:member:`simgrid::s4u::Actor::on_destruction()`
+ - the end of any actor: :cpp:func:`simgrid::s4u::Actor::on_termination_cb`
+ - the destruction of any actor: :cpp:func:`simgrid::s4u::Actor::on_destruction_cb`
.. example-tab:: examples/c/actor-exiting/actor-exiting.c
Waiting for the first completed communication in a set
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-The ``wait_any()`` function is useful when you want to block until one activity of the set completes, no matter which terminates first.
+The ``wait_any()`` blocks until one activity of the set completes, no matter which terminates first.
.. tabs::
See also :cpp:func:`sg_comm_wait_any`.
+Testing whether at least one communication completed
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+The ``test_any()`` returns whether at least one activity of the set has completed, or -1.
+
+.. tabs::
+
+ .. example-tab:: examples/cpp/comm-testany/s4u-comm-testany.cpp
+
+ See also :cpp:func:`simgrid::s4u::Comm::test_any()`.
+
+
.. _s4u_ex_execution:
Executions on the CPU
.. example-tab:: examples/c/energy-exec/energy-exec.c
+Virtual machines consumption
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+This example is very similar to the previous one, adding VMs to the picture.
+
+.. tabs::
+
+ .. example-tab:: examples/cpp/energy-vm/s4u-energy-vm.cpp
+
+ .. example-tab:: examples/c/energy-vm/energy-vm.c
+
Wired network energy consumption
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
mode is rather experimental in SimGrid (as of v3.25). We are working on it :)
Failing assert
-^^^^^^^^^^^^^^
+--------------
In this example, two actors send some data to a central server, which asserts that the messages are always received in the same order.
This is wrong, and the model-checker correctly finds a counter-example to that assertion.