X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/29d145c3e90c4d7a9dd744dae93e330b10724392..74c1ec0ea946c5cb680969bc982a53326a1c0a59:/docs/source/app_s4u.rst diff --git a/docs/source/app_s4u.rst b/docs/source/app_s4u.rst index 082c49b97c..2047854710 100644 --- a/docs/source/app_s4u.rst +++ b/docs/source/app_s4u.rst @@ -598,7 +598,7 @@ Reacting to the end of actors .. doxygenfunction:: simgrid::s4u::Actor::join() const .. doxygenfunction:: simgrid::s4u::Actor::join(double timeout) const .. doxygenfunction:: simgrid::s4u::Actor::set_auto_restart(bool autorestart) - .. doxygenfunction:: simgrid::s4u::Actor::get_restart_count() + .. doxygenfunction:: simgrid::s4u::Actor::get_restart_count .. group-tab:: Python @@ -702,6 +702,7 @@ Logging messages .. autofunction:: simgrid.this_actor.debug .. autofunction:: simgrid.this_actor.info + .. autofunction:: simgrid.this_actor.warning .. autofunction:: simgrid.this_actor.error Sleeping @@ -742,6 +743,7 @@ the execution, or start an asynchronous activity. .. doxygenfunction:: simgrid::s4u::this_actor::execute(double flop) .. doxygenfunction:: simgrid::s4u::this_actor::execute(double flop, double priority) .. doxygenfunction:: simgrid::s4u::this_actor::parallel_execute(const std::vector< s4u::Host * > &hosts, const std::vector< double > &flops_amounts, const std::vector< double > &bytes_amounts) + .. doxygenfunction:: simgrid::s4u::this_actor::thread_execute .. group-tab:: Python @@ -1048,6 +1050,7 @@ Sending data .. automethod:: simgrid.Mailbox.put .. automethod:: simgrid.Mailbox.put_async + .. automethod:: simgrid.Mailbox.put_init .. group-tab:: C @@ -1069,7 +1072,7 @@ Receiving data .. doxygenfunction:: simgrid::s4u::Mailbox::get(double timeout) .. doxygenfunction:: simgrid::s4u::Mailbox::get_async(T **data) .. doxygenfunction:: simgrid::s4u::Mailbox::get_init() - .. doxygenfunction:: simgrid::s4u::Mailbox::iprobe(int type, bool(*match_fun)(void *, void *, kernel::activity::CommImpl *), void *data) + .. doxygenfunction:: simgrid::s4u::Mailbox::iprobe(int type, const std::function& match_fun, void *data) .. doxygenfunction:: simgrid::s4u::Mailbox::listen .. doxygenfunction:: simgrid::s4u::Mailbox::ready @@ -2176,13 +2179,17 @@ Querying info .. doxygenfunction:: simgrid::s4u::Comm::set_dst_data(void **buff) .. doxygenfunction:: simgrid::s4u::Comm::set_dst_data(void **buff, size_t size) .. doxygenfunction:: simgrid::s4u::Comm::detach() - .. doxygenfunction:: simgrid::s4u::Comm::detach(void(*clean_function)(void *)) + .. doxygenfunction:: simgrid::s4u::Comm::detach(const std::function& clean_function) .. doxygenfunction:: simgrid::s4u::Comm::set_payload_size(uint64_t bytes) .. doxygenfunction:: simgrid::s4u::Comm::set_rate(double rate) .. doxygenfunction:: simgrid::s4u::Comm::set_src_data(void *buff) .. doxygenfunction:: simgrid::s4u::Comm::set_src_data(void *buff, size_t size) .. doxygenfunction:: simgrid::s4u::Comm::set_src_data_size(size_t size) + .. group-tab:: Python + + .. automethod:: simgrid.Comm.detach + Life cycle ---------- @@ -2215,6 +2222,7 @@ also start direct communications as shown below. .. automethod:: simgrid.Comm.wait .. automethod:: simgrid.Comm.wait_for .. automethod:: simgrid.Comm.wait_all + .. automethod:: simgrid.Comm.wait_all_for .. automethod:: simgrid.Comm.wait_any .. automethod:: simgrid.Comm.wait_any_for @@ -2407,8 +2415,8 @@ Life cycle .. doxygenfunction:: simgrid::s4u::Io::test .. doxygenfunction:: simgrid::s4u::Io::wait .. doxygenfunction:: simgrid::s4u::Io::wait_for - .. doxygenfunction:: simgrid::s4u::Io::wait_any - .. doxygenfunction:: simgrid::s4u::Io::wait_any_for + .. doxygenfunction:: simgrid::s4u::Io::wait_any(const std::vector &ios) + .. doxygenfunction:: simgrid::s4u::Io::wait_any_for(const std::vector &ios, double timeout) .. group-tab:: Python @@ -2439,7 +2447,15 @@ Synchronization Objects ⁣  Mutex ============== -.. doxygenclass:: simgrid::s4u::Mutex +.. tabs:: + + .. group-tab:: C++ + + .. doxygenclass:: simgrid::s4u::Mutex + + .. group-tab:: Python + + .. autoclass:: simgrid.Mutex Basic management ---------------- @@ -2456,6 +2472,21 @@ Basic management .. doxygenfunction:: simgrid::s4u::Mutex::create() + .. group-tab:: Python + + .. code-block:: Python + + from simgrid import Mutex + mutex = Mutex() + + # Use a context manager to acquire and automatically release the mutex + # when leaving the scope. + with mutex: + # Access shared resource ... + pass + + .. automethod:: simgrid.Mutex.__init__ + .. group-tab:: C .. code-block:: C @@ -2481,6 +2512,12 @@ Locking .. doxygenfunction:: simgrid::s4u::Mutex::try_lock() .. doxygenfunction:: simgrid::s4u::Mutex::unlock() + .. group-tab:: Python + + .. automethod:: simgrid.Mutex.lock + .. automethod:: simgrid.Mutex.try_lock + .. automethod:: simgrid.Mutex.unlock + .. group-tab:: C .. doxygenfunction:: sg_mutex_lock(sg_mutex_t mutex) @@ -2493,7 +2530,15 @@ Locking ⁣  Barrier ================ -.. doxygenclass:: simgrid::s4u::Barrier +.. tabs:: + + .. group-tab:: C++ + + .. doxygenclass:: simgrid::s4u::Barrier + + .. group-tab:: Python + + .. autoclass:: simgrid.Barrier .. tabs:: @@ -2505,10 +2550,19 @@ Locking .. doxygentypedef:: BarrierPtr - .. doxygenfunction:: simgrid::s4u::Barrier::Barrier(unsigned int expected_actors) .. doxygenfunction:: simgrid::s4u::Barrier::create(unsigned int expected_actors) .. doxygenfunction:: simgrid::s4u::Barrier::wait() + .. group-tab:: Python + + .. code-block:: Python + + from simgrid import Barrier + barrier = Barrier(2) + + .. automethod:: simgrid.Barrier.__init__ + .. automethod:: simgrid.Barrier.wait + .. group-tab:: C .. code-block:: C @@ -2590,8 +2644,15 @@ Waiting and notifying ⁣  Semaphore ================== -.. doxygenclass:: simgrid::s4u::Semaphore +.. tabs:: + + .. group-tab:: C++ + + .. doxygenclass:: simgrid::s4u::Semaphore + .. group-tab:: Python + + .. autoclass:: simgrid.Semaphore Basic management ---------------- @@ -2607,6 +2668,19 @@ Basic management .. doxygentypedef:: SemaphorePtr .. doxygenfunction:: simgrid::s4u::Semaphore::create(unsigned int initial_capacity) + .. group-tab:: Python + + .. code-block:: Python + + from simgrid import Semaphore + semaphore = Semaphore(1) + # Automatically acquire the semaphore, and release it after leaving the scope. + with semaphore: + # Do something with the shared resource + pass + + .. automethod:: simgrid.Semaphore.__init__ + .. group-tab:: C .. code-block:: C @@ -2634,6 +2708,14 @@ Locking .. doxygenfunction:: simgrid::s4u::Semaphore::release() .. doxygenfunction:: simgrid::s4u::Semaphore::would_block() const + .. group-tab:: Python + + .. automethod:: simgrid.Semaphore.acquire + .. automethod:: simgrid.Semaphore.acquire_timeout + .. autoattribute:: simgrid.Semaphore.capacity + .. automethod:: simgrid.Semaphore.release + .. autoattribute:: simgrid.Semaphore.would_block + .. group-tab:: C .. doxygenfunction:: sg_sem_acquire(sg_sem_t sem)