Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Yet another example integrated in the doc
authorMartin Quinson <martin.quinson@ens-rennes.fr>
Sat, 21 Jan 2023 21:22:26 +0000 (22:22 +0100)
committerMartin Quinson <martin.quinson@ens-rennes.fr>
Sat, 21 Jan 2023 21:22:26 +0000 (22:22 +0100)
examples/README.rst
include/simgrid/s4u/Mailbox.hpp

index e3cd9fe..7fc106b 100644 (file)
@@ -358,6 +358,25 @@ This example is very similar to the previous one, simply adding how to declare t
 
       See also :py:func:`simgrid.Comm.wait_until()`
 
+.. _s4u_ex_mailbox_ready:
+
+Checking for incoming communications
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+This example uses ``Mailbox.ready()`` to check for completed communications. When this function returns true, then at least a message
+is arrived, so you know that ``Mailbox.get()`` will complete imediately. This is thus another way toward asynchronous communications.
+
+.. tabs::
+
+   .. example-tab:: examples/cpp/comm-ready/s4u-comm-ready.cpp
+
+      See also :cpp:func:`simgrid::s4u::Mailbox::ready()`.
+
+   .. example-tab:: examples/python/comm-ready/comm-ready.py
+
+      See also :py:func:`simgrid.Mailbox.ready()`
+
+
 Suspending communications
 ^^^^^^^^^^^^^^^^^^^^^^^^^
 
index 84db62a..3c910f6 100644 (file)
@@ -54,7 +54,11 @@ public:
   /** Look if there is a communication going on in a mailbox and return the PID of the sender actor */
   aid_t listen_from() const;
 
-  /** Check if there is a communication ready to be consumed from a mailbox. */
+  /** Check if there is a communication ready to be consumed from a mailbox.
+   * \beginrst
+   *  See :ref:`this example <s4u_ex_mailbox_ready>`.
+   * \endrst
+   */
   bool ready() const;
 
   /** Gets the first element in the queue (without dequeuing it), or nullptr if none is there */