X-Git-Url: http://bilbo.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/e75d6a81a54f6721bb74834046876c73d6cbf6c0..207066ffe043d3701ae9431c64c2864083cf3a1a:/docs/source/app_s4u.rst diff --git a/docs/source/app_s4u.rst b/docs/source/app_s4u.rst index 7b0eca7d56..2047854710 100644 --- a/docs/source/app_s4u.rst +++ b/docs/source/app_s4u.rst @@ -598,6 +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 .. group-tab:: Python @@ -701,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 @@ -741,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 @@ -807,7 +810,7 @@ Engin initialization .. group-tab:: Python .. automethod:: simgrid.Engine.__init__ - .. automethod:: simgrid.Engine.instance + .. autoattribute:: simgrid.Engine.instance .. group-tab:: C @@ -864,7 +867,7 @@ Run the simulation .. group-tab:: Python - .. automethod:: simgrid.Engine.clock + .. autoattribute:: simgrid.Engine.clock .. automethod:: simgrid.Engine.run .. automethod:: simgrid.Engine.run_until @@ -904,7 +907,7 @@ Retrieving hosts .. group-tab:: Python - .. automethod:: simgrid.Engine.all_hosts + .. autoattribute:: simgrid.Engine.all_hosts .. group-tab:: C @@ -925,7 +928,7 @@ Retrieving links .. group-tab:: Python - .. automethod:: simgrid.Engine.all_links + .. autoattribute:: simgrid.Engine.all_links Interacting with the routing ---------------------------- @@ -942,8 +945,8 @@ Interacting with the routing .. group-tab:: Python - .. automethod:: simgrid.Engine.all_netpoints - .. automethod:: simgrid.Engine.netzone_root + .. autoattribute:: simgrid.Engine.all_netpoints + .. autoattribute:: simgrid.Engine.netzone_root .. automethod:: simgrid.Engine.netpoint_by_name .. automethod:: simgrid.Engine.netzone_by_name @@ -957,6 +960,7 @@ Signals .. doxygenfunction:: simgrid::s4u::Engine::on_deadlock_cb .. doxygenfunction:: simgrid::s4u::Engine::on_platform_created_cb .. doxygenfunction:: simgrid::s4u::Engine::on_platform_creation_cb + .. doxygenfunction:: simgrid::s4u::Engine::on_simulation_start_cb .. doxygenfunction:: simgrid::s4u::Engine::on_simulation_end_cb .. doxygenfunction:: simgrid::s4u::Engine::on_time_advance_cb @@ -1046,6 +1050,7 @@ Sending data .. automethod:: simgrid.Mailbox.put .. automethod:: simgrid.Mailbox.put_async + .. automethod:: simgrid.Mailbox.put_init .. group-tab:: C @@ -1067,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 @@ -1274,7 +1279,7 @@ Retrieving hosts .. group-tab:: Python - See also :py:func:`simgrid.Engine.get_all_hosts`. + See also :py:attr:`simgrid.Engine.all_hosts`. .. automethod:: simgrid.Host.by_name .. automethod:: simgrid.Host.current @@ -1298,7 +1303,7 @@ Modifying characteristics .. group-tab:: Python - .. automethod:: simgrid.Host.set_core_count + .. autoattribute:: simgrid.Host.core_count .. automethod:: simgrid.Host.set_coordinates .. automethod:: simgrid.Host.set_sharing_policy @@ -1319,6 +1324,7 @@ Querying info .. group-tab:: Python .. autoattribute:: simgrid.Host.name + .. autoattribute:: simgrid.Host.core_count .. autoattribute:: simgrid.Host.load .. autoattribute:: simgrid.Host.pstate .. autoattribute:: simgrid.Host.speed @@ -1327,7 +1333,6 @@ Querying info .. group-tab:: C .. doxygenfunction:: sg_host_core_count(const_sg_host_t host) - .. doxygenfunction:: sg_host_dump(const_sg_host_t ws) .. doxygenfunction:: sg_host_get_name(const_sg_host_t host) .. doxygenfunction:: sg_host_get_load(const_sg_host_t host) .. doxygenfunction:: sg_host_get_speed(const_sg_host_t host) @@ -1404,8 +1409,8 @@ DVFS .. group-tab:: Python - .. automethod:: simgrid.Host.get_pstate_count - .. automethod:: simgrid.Host.get_pstate_speed + .. autoattribute:: simgrid.Host.pstate_count + .. automethod:: simgrid.Host.pstate_speed .. group-tab:: C @@ -1460,7 +1465,7 @@ using :cpp:func:`Comm::sendto() `. .. group-tab:: Python - .. automethod:: simgrid.Host.get_netpoint + .. autoattribute:: simgrid.Host.netpoint .. automethod:: simgrid.Host.create_disk .. automethod:: simgrid.Host.route_to @@ -1553,7 +1558,7 @@ Retrieving links .. group-tab:: Python - See also :py:func:`simgrid.Engine.get_all_links`. + See also :py:attr:`simgrid.Engine.all_links`. .. automethod:: simgrid.Link.by_name .. autoattribute:: simgrid.Link.name @@ -1779,7 +1784,7 @@ Querying info .. group-tab:: Python .. autoattribute:: simgrid.NetZone.name - .. automethod:: simgrid.NetZone.get_netpoint + .. autoattribute:: simgrid.NetZone.netpoint .. group-tab:: C @@ -2160,7 +2165,6 @@ Basic management #include .. doxygentypedef:: sg_comm_t - .. doxygentypedef:: const_sg_comm_t Querying info ------------- @@ -2175,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 ---------- @@ -2212,8 +2220,11 @@ also start direct communications as shown below. .. automethod:: simgrid.Comm.test .. 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 .. group-tab:: C @@ -2404,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 @@ -2436,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 ---------------- @@ -2453,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 @@ -2478,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) @@ -2490,7 +2530,15 @@ Locking ⁣  Barrier ================ -.. doxygenclass:: simgrid::s4u::Barrier +.. tabs:: + + .. group-tab:: C++ + + .. doxygenclass:: simgrid::s4u::Barrier + + .. group-tab:: Python + + .. autoclass:: simgrid.Barrier .. tabs:: @@ -2502,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 @@ -2513,10 +2570,9 @@ Locking #include .. doxygentypedef:: sg_bar_t - .. doxygentypedef:: const_sg_bar_t .. doxygenfunction:: sg_barrier_init(unsigned int count) - .. doxygenfunction:: sg_barrier_destroy(const_sg_bar_t bar) + .. doxygenfunction:: sg_barrier_destroy(sg_bar_t bar) .. doxygenfunction:: sg_barrier_wait(sg_bar_t bar) @@ -2588,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 ---------------- @@ -2605,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 @@ -2632,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)