we will store the ongoing communications. It is also useful to have a
vector of mailboxes.
-.. literalinclude:: ../../examples/s4u/async-waitall/s4u-async-waitall.cpp
+.. literalinclude:: ../../examples/s4u/comm-waitall/s4u-comm-waitall.cpp
:language: c++
:start-after: init-begin
:end-before: init-end
with
:cpp:func:`s4u::Comm::wait_all() <simgrid::s4u::Comm::wait_all>`.
-.. literalinclude:: ../../examples/s4u/async-waitall/s4u-async-waitall.cpp
+.. literalinclude:: ../../examples/s4u/comm-waitall/s4u-comm-waitall.cpp
:language: c++
:start-after: put-begin
:end-before: put-end
A big difference with TCP sockets or MPI communications is that
communications do not start right away after a
-:cpp:func:`Mailbox::put() <simgrid::s4u::Mailbox::put()>`, but wait
-for the corresponding :cpp:func:`Mailbox::get() <simgrid::s4u::Mailbox::get()>`.
+:cpp:func:`Mailbox::put() <simgrid::s4u::Mailbox::put>`, but wait
+for the corresponding :cpp:func:`Mailbox::get() <simgrid::s4u::Mailbox::get>`.
You can change this by :ref:`declaring a receiving actor <s4u_receiving_actor>`.
A big difference with twitter hashtags is that SimGrid does not
on the data you want to get from the mailbox. To model such settings
in SimGrid, you'd have one mailbox per potential topic, and subscribe
to each topic individually with a
-:cpp:func:`get_async() <simgrid::s4u::Mailbox::get_async()>` on each mailbox.
-Then, use :cpp:func:`Comm::wait_any() <simgrid::s4u::Comm::wait_any()>`
+:cpp:func:`get_async() <simgrid::s4u::Mailbox::get_async>` on each mailbox.
+Then, use :cpp:func:`Comm::wait_any() <simgrid::s4u::Comm::wait_any>`
to get the first message on any of the mailbox you are subscribed onto.
The mailboxes are not located on the network, and you can access
and :cpp:func:`get() <simgrid::s4u::Mailbox::get()>` are posted).
In TCP, since you establish connections beforehand, the data starts to
flow as soon as the sender posts it, even if the receiver did not post
-its :cpp:func:`recv() <simgrid::s4u::Mailbox::recv()>` yet.
+its :cpp:func:`put() <simgrid::s4u::Mailbox::put()>` yet.
To model this in SimGrid, you can declare a specific receiver to a
given mailbox (with the function
that marked as permanent receiver, you should call
``mailbox->set_receiver(nullptr)`` by the end of the actors so that their
memory gets properly reclaimed. This call should be at the end of the
-actor's function, not in a on_exit callback.
+actor's function, not in an on_exit callback.
.. _s4u_raii:
Note that Mailboxes, Hosts and Links are not handled thought smart
pointers (yet?). This means that it is currently impossible to destroy a
-mailbox or a link. You can still destroy an host (but probably
+mailbox or a link. You can still destroy a host (but probably
shouldn't), using :cpp:func:`simgrid::s4u::Host::destroy`.
.. THE EXAMPLES
.. group-tab:: C
+ .. autodoxymethod:: sg_actor_create(const char *name, sg_host_t host, xbt_main_func_t code, int argc, const char *const *argv)
.. autodoxymethod:: sg_actor_init(const char *name, sg_host_t host)
.. autodoxymethod:: sg_actor_start(sg_actor_t actor, xbt_main_func_t code, int argc, const char *const *argv)
.. autodoxymethod:: simgrid::s4u::Actor::get_host
.. autodoxymethod:: simgrid::s4u::Actor::set_host
- .. autodoxymethod:: simgrid::s4u::Actor::get_refcount()
+ .. autodoxymethod:: simgrid::s4u::Actor::get_refcount
.. autodoxymethod:: simgrid::s4u::Actor::get_impl
.. group-tab:: Python
.. autodoxymethod:: sg_actor_get_host(const_sg_actor_t actor)
.. autodoxymethod:: sg_actor_set_host(sg_actor_t actor, sg_host_t host)
- .. autodoxymethod:: sg_actor_data(const_sg_actor_t actor)
- .. autodoxymethod:: sg_actor_data_set(sg_actor_t actor, void *userdata)
+ .. autodoxymethod:: sg_actor_get_data(const_sg_actor_t actor)
+ .. autodoxymethod:: sg_actor_set_data(sg_actor_t actor, void *userdata)
Suspending and resuming actors
------------------------------
.. autodoxymethod:: simgrid::s4u::Actor::suspend()
.. autodoxymethod:: simgrid::s4u::Actor::resume()
- .. autodoxymethod:: simgrid::s4u::Actor::is_suspended()
+ .. autodoxymethod:: simgrid::s4u::Actor::is_suspended
.. group-tab:: Python
.. autodoxymethod:: sg_actor_suspend(sg_actor_t actor)
.. autodoxymethod:: sg_actor_resume(sg_actor_t actor)
- .. autodoxymethod:: sg_actor_is_suspended(sg_actor_t actor)
+ .. autodoxymethod:: sg_actor_is_suspended(const_sg_actor_t actor)
Specifying when actors should terminate
---------------------------------------
.. autodoxymethod:: simgrid::s4u::Actor::kill()
.. autodoxymethod:: simgrid::s4u::Actor::kill_all()
.. autodoxymethod:: simgrid::s4u::Actor::set_kill_time(double time)
- .. autodoxymethod:: simgrid::s4u::Actor::get_kill_time()
+ .. autodoxymethod:: simgrid::s4u::Actor::get_kill_time
.. autodoxymethod:: simgrid::s4u::Actor::restart()
.. autodoxymethod:: simgrid::s4u::Actor::daemonize()
.. group-tab:: C++
.. autodoxymethod:: simgrid::s4u::Actor::on_exit
- .. autodoxymethod:: simgrid::s4u::Actor::join()
- .. autodoxymethod:: simgrid::s4u::Actor::join(double timeout)
+ .. autodoxymethod:: simgrid::s4u::Actor::join() const
+ .. autodoxymethod:: simgrid::s4u::Actor::join(double timeout) const
.. autodoxymethod:: simgrid::s4u::Actor::set_auto_restart(bool autorestart)
.. group-tab:: Python
.. group-tab:: C
- .. autodoxymethod:: sg_actor_join(sg_actor_t actor, double timeout)
+ .. autodoxymethod:: sg_actor_join(const_sg_actor_t actor, double timeout)
.. autodoxymethod:: sg_actor_set_auto_restart(sg_actor_t actor, int auto_restart)
Signals
.. autodoxyvar:: simgrid::s4u::Actor::on_creation
.. autodoxyvar:: simgrid::s4u::Actor::on_suspend
- .. cpp:var:: xbt::signal<void(const Actor&, const Host & previous_location)> Actor::on_host_change
-
- Signal fired when an actor is migrated from one host to another.
-
+ .. autodoxyvar:: simgrid::s4u::Actor::on_host_change
.. autodoxyvar:: simgrid::s4u::Actor::on_resume
.. autodoxyvar:: simgrid::s4u::Actor::on_sleep
.. autodoxyvar:: simgrid::s4u::Actor::on_wake_up
.. group-tab:: C
- .. autodoxymethod:: sg_actor_self_data()
- .. autodoxymethod:: sg_actor_self_data_set(void *data)
+ .. autodoxymethod:: sg_actor_self_get_data()
+ .. autodoxymethod:: sg_actor_self_set_data(void *data)
.. autodoxymethod:: sg_actor_self_get_name()
.. autodoxymethod:: sg_actor_self_get_pid()
.. autodoxymethod:: sg_actor_self_get_ppid()
.. autofunction:: simgrid.this_actor.suspend
.. autofunction:: simgrid.this_actor.yield_
+ .. group-tab:: C
+
+ .. autodoxymethod:: sg_actor_yield()
+
Logging messages
----------------
.. group-tab:: C++
- .. autodoxymethod:: simgrid::s4u::this_actor::exec_async(double flops_amounts)
- .. autodoxymethod:: simgrid::s4u::this_actor::exec_init(const std::vector< s4u::Host *> &hosts, const std::vector< double > &flops_amounts, const std::vector< double > &bytes_amounts)
+ .. autodoxymethod:: simgrid::s4u::this_actor::exec_async
+ .. autodoxymethod:: simgrid::s4u::this_actor::exec_init(const std::vector< s4u::Host * > &hosts, const std::vector< double > &flops_amounts, const std::vector< double > &bytes_amounts)
.. autodoxymethod:: simgrid::s4u::this_actor::exec_init(double flops_amounts)
.. autodoxymethod:: simgrid::s4u::this_actor::execute(double flop)
.. autodoxymethod:: simgrid::s4u::this_actor::execute(double flop, double priority)
- .. autodoxymethod:: simgrid::s4u::this_actor::parallel_execute(const std::vector< s4u::Host *> &hosts, const std::vector< double > &flops_amounts, const std::vector< double > &bytes_amounts)
- .. autodoxymethod:: simgrid::s4u::this_actor::parallel_execute(const std::vector< s4u::Host *> &hosts, const std::vector< double > &flops_amounts, const std::vector< double > &bytes_amounts, double timeout)
+ .. autodoxymethod:: simgrid::s4u::this_actor::parallel_execute(const std::vector< s4u::Host * > &hosts, const std::vector< double > &flops_amounts, const std::vector< double > &bytes_amounts)
+ .. autodoxymethod:: simgrid::s4u::this_actor::parallel_execute(const std::vector< s4u::Host * > &hosts, const std::vector< double > &flops_amounts, const std::vector< double > &bytes_amounts, double timeout)
.. group-tab:: Python
.. group-tab:: C
- .. autodoxymethod:: sg_actor_self_execute(double flops)
+ .. autodoxymethod:: sg_actor_execute(double flops)
+ .. autodoxymethod:: sg_actor_execute_with_priority(double flops, double priority)
+ .. autodoxymethod:: sg_actor_exec_init(double computation_amount)
+ .. autodoxymethod:: sg_actor_exec_async(double computation_amount)
Exiting
-------
.. autodoxymethod:: simgrid::s4u::Engine::set_config(const std::string &name, bool value)
.. autodoxymethod:: simgrid::s4u::Engine::set_config(const std::string &name, double value)
.. autodoxymethod:: simgrid::s4u::Engine::set_config(const std::string &name, int value)
- .. autodoxymethod:: simgrid::s4u::Engine::set_config(const std::string &name, std::string value)
+ .. autodoxymethod:: simgrid::s4u::Engine::set_config(const std::string &name, const std::string &value)
- .. autodoxymethod:: simgrid::s4u::Engine::load_deployment(const std::string &deploy)
- .. autodoxymethod:: simgrid::s4u::Engine::load_platform(const std::string &platf)
+ .. autodoxymethod:: simgrid::s4u::Engine::load_deployment
+ .. autodoxymethod:: simgrid::s4u::Engine::load_platform
.. autodoxymethod:: simgrid::s4u::Engine::register_actor(const std::string &name)
.. autodoxymethod:: simgrid::s4u::Engine::register_actor(const std::string &name, F code)
- .. autodoxymethod:: simgrid::s4u::Engine::register_default(void(*code)(int, char **))
- .. autodoxymethod:: simgrid::s4u::Engine::register_function(const std::string &name, void(*code)(std::vector< std::string >))
- .. autodoxymethod:: simgrid::s4u::Engine::register_function(const std::string &name, void(*code)(int, char **))
+ .. autodoxymethod:: simgrid::s4u::Engine::register_default(const std::function< void(int, char **)> &code)
+ .. autodoxymethod:: simgrid::s4u::Engine::register_default(const kernel::actor::ActorCodeFactory &factory)
+
+ .. autodoxymethod:: simgrid::s4u::Engine::register_function(const std::string &name, const std::function< void(int, char **)> &code)
+ .. autodoxymethod:: simgrid::s4u::Engine::register_function(const std::string &name, const std::function< void(std::vector< std::string >)> &code)
+ .. autodoxymethod:: simgrid::s4u::Engine::register_function(const std::string &name, const kernel::actor::ActorCodeFactory &factory)
.. group-tab:: Python
.. group-tab:: C++
.. autodoxymethod:: simgrid::s4u::Engine::get_clock()
- .. autodoxymethod:: simgrid::s4u::Engine::run()
+ .. autodoxymethod:: simgrid::s4u::Engine::run
.. group-tab:: Python
.. group-tab:: C++
- .. autodoxymethod:: simgrid::s4u::Engine::get_actor_count()
- .. autodoxymethod:: simgrid::s4u::Engine::get_all_actors()
- .. autodoxymethod:: simgrid::s4u::Engine::get_filtered_actors(const std::function< bool(ActorPtr)> &filter)
+ .. autodoxymethod:: simgrid::s4u::Engine::get_actor_count
+ .. autodoxymethod:: simgrid::s4u::Engine::get_all_actors
+ .. autodoxymethod:: simgrid::s4u::Engine::get_filtered_actors
.. group-tab:: C
.. group-tab:: C++
- .. autodoxymethod:: simgrid::s4u::Engine::get_all_hosts()
- .. autodoxymethod:: simgrid::s4u::Engine::get_host_count()
- .. autodoxymethod:: simgrid::s4u::Engine::get_filtered_hosts(const std::function< bool(Host *)> &filter)
- .. autodoxymethod:: simgrid::s4u::Engine::host_by_name(const std::string &name)
- .. autodoxymethod:: simgrid::s4u::Engine::host_by_name_or_null(const std::string &name)
+ .. autodoxymethod:: simgrid::s4u::Engine::get_all_hosts
+ .. autodoxymethod:: simgrid::s4u::Engine::get_host_count
+ .. autodoxymethod:: simgrid::s4u::Engine::get_filtered_hosts
+ .. autodoxymethod:: simgrid::s4u::Engine::host_by_name
+ .. autodoxymethod:: simgrid::s4u::Engine::host_by_name_or_null
.. group-tab:: Python
.. group-tab:: C++
- .. autodoxymethod:: simgrid::s4u::Engine::get_all_links()
- .. autodoxymethod:: simgrid::s4u::Engine::get_link_count()
+ .. autodoxymethod:: simgrid::s4u::Engine::get_all_links
+ .. autodoxymethod:: simgrid::s4u::Engine::get_link_count
.. autodoxymethod:: simgrid::s4u::Engine::get_filtered_links
- .. autodoxymethod:: simgrid::s4u::Engine::link_by_name(const std::string &name)
- .. autodoxymethod:: simgrid::s4u::Engine::link_by_name_or_null(const std::string &name)
+ .. autodoxymethod:: simgrid::s4u::Engine::link_by_name
+ .. autodoxymethod:: simgrid::s4u::Engine::link_by_name_or_null
Interacting with the routing
----------------------------
.. group-tab:: C++
- .. autodoxymethod:: simgrid::s4u::Engine::get_all_netpoints()
- .. autodoxymethod:: simgrid::s4u::Engine::get_filtered_netzones()
+ .. autodoxymethod:: simgrid::s4u::Engine::get_all_netpoints
+ .. autodoxymethod:: simgrid::s4u::Engine::get_filtered_netzones
.. autodoxymethod:: simgrid::s4u::Engine::get_instance()
- .. autodoxymethod:: simgrid::s4u::Engine::get_netzone_root()
- .. autodoxymethod:: simgrid::s4u::Engine::netpoint_by_name_or_null(const std::string &name)
- .. autodoxymethod:: simgrid::s4u::Engine::netzone_by_name_or_null(const std::string &name)
+ .. autodoxymethod:: simgrid::s4u::Engine::get_netzone_root
+ .. autodoxymethod:: simgrid::s4u::Engine::netpoint_by_name_or_null
+ .. autodoxymethod:: simgrid::s4u::Engine::netzone_by_name_or_null
.. autodoxymethod:: simgrid::s4u::Engine::set_netzone_root(const NetZone *netzone)
Signals
.. automethod:: simgrid.Mailbox.by_name
+ .. code-block:: C
+
+ #include <simgrid/s4u/mailbox.h>
+
+ .. autodoxymethod:: sg_mailbox_by_name(const char *alias)
+
+ .. group-tab:: C
+
Querying info
-------------
.. group-tab:: C++
- .. autodoxymethod:: simgrid::s4u::Mailbox::get_cname() const
- .. autodoxymethod:: simgrid::s4u::Mailbox::get_name() const
+ .. autodoxymethod:: simgrid::s4u::Mailbox::get_cname
+ .. autodoxymethod:: simgrid::s4u::Mailbox::get_name
.. group-tab:: Python
.. automethod:: simgrid.Mailbox.put
.. automethod:: simgrid.Mailbox.put_async
+ .. group-tab: C
+
+ .. autodoxymethod:: sg_mailbox_put(sg_mailbox_t mailbox, void *payload, long simulated_size_in_bytes)
+ .. autodoxymethod:: sg_mailbox_put_init(sg_mailbox_t mailbox, void *payload, long simulated_size_in_bytes)
+ .. autodoxymethod:: sg_mailbox_put_async(sg_mailbox_t mailbox, void *payload, long simulated_size_in_bytes)
+
Receiving data
--------------
.. group-tab:: C++
- .. autodoxymethod:: simgrid::s4u::Mailbox::empty()
- .. autodoxymethod:: simgrid::s4u::Mailbox::front()
+ .. autodoxymethod:: simgrid::s4u::Mailbox::empty
+ .. autodoxymethod:: simgrid::s4u::Mailbox::front
.. autodoxymethod:: simgrid::s4u::Mailbox::get()
.. autodoxymethod:: simgrid::s4u::Mailbox::get(double timeout)
- .. autodoxymethod:: simgrid::s4u::Mailbox::get_async(void **data)
+ .. autodoxymethod:: simgrid::s4u::Mailbox::get_async(T **data)
.. autodoxymethod:: simgrid::s4u::Mailbox::get_init()
.. autodoxymethod:: simgrid::s4u::Mailbox::iprobe(int type, bool(*match_fun)(void *, void *, kernel::activity::CommImpl *), void *data)
- .. autodoxymethod:: simgrid::s4u::Mailbox::listen()
- .. autodoxymethod:: simgrid::s4u::Mailbox::ready()
+ .. autodoxymethod:: simgrid::s4u::Mailbox::listen
+ .. autodoxymethod:: simgrid::s4u::Mailbox::ready
.. group-tab:: Python
.. group-tab:: C
+ .. autodoxymethod:: sg_mailbox_get(sg_mailbox_t mailbox)
+ .. autodoxymethod:: sg_mailbox_get_async(sg_mailbox_t mailbox, void **data)
+ .. autodoxymethod:: sg_mailbox_get_name(const_sg_mailbox_t mailbox)
.. autodoxymethod:: sg_mailbox_listen(const char *alias)
Receiving actor
.. group-tab:: C++
- .. autodoxymethod:: simgrid::s4u::Mailbox::get_receiver()
+ .. autodoxymethod:: simgrid::s4u::Mailbox::get_receiver
.. autodoxymethod:: simgrid::s4u::Mailbox::set_receiver(ActorPtr actor)
.. group-tab:: C
.. autodoxymethod:: sg_host_core_count(const_sg_host_t host)
.. autodoxymethod:: sg_host_dump(const_sg_host_t ws)
.. autodoxymethod:: sg_host_get_name(const_sg_host_t host)
- .. autodoxymethod:: sg_host_load(const_sg_host_t host)
- .. autodoxymethod:: sg_host_speed(const_sg_host_t host)
+ .. autodoxymethod:: sg_host_get_load(const_sg_host_t host)
+ .. autodoxymethod:: sg_host_get_speed(const_sg_host_t host)
User data and properties
------------------------
.. autodoxymethod:: simgrid::s4u::Host::get_properties() const
.. autodoxymethod:: simgrid::s4u::Host::get_property(const std::string &key) const
- .. autodoxymethod:: simgrid::s4u::Host::set_properties(const std::map< std::string, std::string > &properties)
+ .. autodoxymethod:: simgrid::s4u::Host::set_properties(const std::unordered_map< std::string, std::string > &properties)
.. autodoxymethod:: simgrid::s4u::Host::set_property(const std::string &key, const std::string &value)
.. group-tab:: C
.. group-tab:: C++
- .. autodoxymethod:: simgrid::s4u::Host::add_disk(Disk *disk)
+ .. autodoxymethod:: simgrid::s4u::Host::add_disk(const Disk *disk)
.. autodoxymethod:: simgrid::s4u::Host::get_actor_count() const
.. autodoxymethod:: simgrid::s4u::Host::get_all_actors() const
.. autodoxymethod:: simgrid::s4u::Host::get_disks() const
.. group-tab:: C++
- .. autodoxymethod:: simgrid::s4u::Host::exec_async(double flops_amounts)
- .. autodoxymethod:: simgrid::s4u::Host::execute(double flops)
- .. autodoxymethod:: simgrid::s4u::Host::execute(double flops, double priority)
+ .. autodoxymethod:: simgrid::s4u::Host::exec_async
+ .. autodoxymethod:: simgrid::s4u::Host::execute(double flops) const
+ .. autodoxymethod:: simgrid::s4u::Host::execute(double flops, double priority) const
Platform and routing
--------------------
.. autodoxymethod:: simgrid::s4u::Host::get_englobing_zone()
.. autodoxymethod:: simgrid::s4u::Host::get_netpoint() const
- .. autodoxymethod:: simgrid::s4u::Host::route_to(const Host *dest, std::vector< Link *> &links, double *latency) const
- .. autodoxymethod:: simgrid::s4u::Host::route_to(const Host *dest, std::vector< kernel::resource::LinkImpl *> &links, double *latency) const
+ .. autodoxymethod:: simgrid::s4u::Host::route_to(const Host *dest, std::vector< Link * > &links, double *latency) const
+ .. autodoxymethod:: simgrid::s4u::Host::route_to(const Host *dest, std::vector< kernel::resource::LinkImpl * > &links, double *latency) const
.. autodoxymethod:: simgrid::s4u::Host::sendto(Host *dest, double byte_amount)
.. autodoxymethod:: simgrid::s4u::Host::sendto_async(Host *dest, double byte_amount)
.. group-tab:: C
- .. autodoxymethod:: sg_host_route(const_sg_host_t from, const_sg_host_t to, xbt_dynar_t links)
- .. autodoxymethod:: sg_host_route_bandwidth(const_sg_host_t from, const_sg_host_t to)
- .. autodoxymethod:: sg_host_route_latency(const_sg_host_t from, const_sg_host_t to)
+ .. autodoxymethod:: sg_host_get_route(const_sg_host_t from, const_sg_host_t to, xbt_dynar_t links)
+ .. autodoxymethod:: sg_host_get_route_bandwidth(const_sg_host_t from, const_sg_host_t to)
+ .. autodoxymethod:: sg_host_get_route_latency(const_sg_host_t from, const_sg_host_t to)
.. autodoxymethod:: sg_host_sendto(sg_host_t from, sg_host_t to, double byte_amount)
Signals
.. group-tab:: C
- .. autodoxymethod:: sg_link_bandwidth(const_sg_link_t link)
+ .. autodoxymethod:: sg_link_get_bandwidth(const_sg_link_t link)
+ .. autodoxymethod:: sg_link_get_latency(const_sg_link_t link)
+ .. autodoxymethod:: sg_link_get_name(const_sg_link_t link)
.. autodoxymethod:: sg_link_is_shared(const_sg_link_t link)
- .. autodoxymethod:: sg_link_latency(const_sg_link_t link)
- .. autodoxymethod:: sg_link_name(const_sg_link_t link)
Modifying characteristics
-------------------------
.. autodoxymethod:: simgrid::s4u::Link::set_bandwidth(double value)
.. autodoxymethod:: simgrid::s4u::Link::set_latency(double value)
+ .. group-tab:: C
+
+ .. autodoxymethod:: sg_link_set_bandwidth(sg_link_t link, double value)
+ .. autodoxymethod:: sg_link_set_latency(sg_link_t link, double value)
+
User data and properties
------------------------
.. group-tab:: C
- .. autodoxymethod:: sg_link_data(const_sg_link_t link)
- .. autodoxymethod:: sg_link_data_set(sg_link_t link, void *data)
+ .. autodoxymethod:: sg_link_get_data(const_sg_link_t link)
+ .. autodoxymethod:: sg_link_set_data(sg_link_t link, void *data)
On/Off
------
.. group-tab:: C++
- .. autodoxymethod:: simgrid::s4u::Link::set_host_wifi_rate(const s4u::Host* host, int level) const
+ .. autodoxymethod:: simgrid::s4u::Link::set_host_wifi_rate
Signals
-------
.. group-tab:: C++
.. autodoxyvar:: simgrid::s4u::Link::on_bandwidth_change
- .. cpp:var:: xbt::signal<void(kernel::resource::NetworkAction&, Host* src, Host* dst)> Link::on_communicate
+ .. autodoxyvar:: simgrid::s4u::Link::on_communicate
.. autodoxyvar:: simgrid::s4u::Link::on_communication_state_change
.. autodoxyvar:: simgrid::s4u::Link::on_creation
.. autodoxyvar:: simgrid::s4u::Link::on_destruction
.. group-tab:: C++
- .. autodoxymethod:: simgrid::s4u::NetZone::add_bypass_route(kernel::routing::NetPoint *src, kernel::routing::NetPoint *dst, kernel::routing::NetPoint *gw_src, kernel::routing::NetPoint *gw_dst, std::vector< kernel::resource::LinkImpl *> &link_list, bool symmetrical)
+ .. autodoxymethod:: simgrid::s4u::NetZone::add_bypass_route
.. autodoxymethod:: simgrid::s4u::NetZone::add_component(kernel::routing::NetPoint *elm)
- .. autodoxymethod:: simgrid::s4u::NetZone::add_route(kernel::routing::NetPoint *src, kernel::routing::NetPoint *dst, kernel::routing::NetPoint *gw_src, kernel::routing::NetPoint *gw_dst, std::vector< kernel::resource::LinkImpl *> &link_list, bool symmetrical)
+ .. autodoxymethod:: simgrid::s4u::NetZone::add_route
.. autodoxymethod:: simgrid::s4u::NetZone::get_children() const
.. autodoxymethod:: simgrid::s4u::NetZone::get_father()
.. autodoxymethod:: simgrid::s4u::VirtualMachine::get_pm() const
.. autodoxymethod:: simgrid::s4u::VirtualMachine::get_ramsize() const
- .. autodoxymethod:: simgrid::s4u::VirtualMachine::get_state()
+ .. autodoxymethod:: simgrid::s4u::VirtualMachine::get_state() const
.. autodoxymethod:: simgrid::s4u::VirtualMachine::set_bound(double bound)
.. autodoxymethod:: simgrid::s4u::VirtualMachine::set_pm(Host *pm)
.. autodoxymethod:: simgrid::s4u::Comm::set_src_data(void *buff)
.. autodoxymethod:: simgrid::s4u::Comm::set_src_data(void *buff, size_t size)
.. autodoxymethod:: simgrid::s4u::Comm::set_src_data_size(size_t size)
- .. autodoxymethod:: simgrid::s4u::Comm::set_tracing_category(const std::string &category)
Life cycle
----------
.. group-tab:: C++
.. autodoxyvar:: simgrid::s4u::Comm::on_completion
- .. autodoxyvar:: simgrid::s4u::Comm::on_receiver_start
- .. autodoxyvar:: simgrid::s4u::Comm::on_sender_start
+ .. autodoxyvar:: simgrid::s4u::Comm::on_start
.. _API_s4u_Exec:
.. group-tab:: C++
- .. cpp:var:: xbt::signal<void(Actor const&, Exec const&)> Exec::on_completion
- .. cpp:var:: xbt::signal<void(Actor const&, Exec const&)> Exec::on_start
+ .. autodoxyvar:: simgrid::s4u::Exec::on_start
+ .. autodoxyvar:: simgrid::s4u::Exec::on_completion
.. _API_s4u_Io:
.. autodoxymethod:: simgrid::s4u::Semaphore::acquire()
.. autodoxymethod:: simgrid::s4u::Semaphore::acquire_timeout(double timeout)
- .. autodoxymethod:: simgrid::s4u::Semaphore::get_capacity()
+ .. autodoxymethod:: simgrid::s4u::Semaphore::get_capacity() const
.. autodoxymethod:: simgrid::s4u::Semaphore::release()
- .. autodoxymethod:: simgrid::s4u::Semaphore::would_block()
+ .. autodoxymethod:: simgrid::s4u::Semaphore::would_block() const
.. group-tab:: C
.. autodoxymethod:: sg_sem_acquire(sg_sem_t sem)
.. autodoxymethod:: sg_sem_acquire_timeout(sg_sem_t sem, double timeout)
- .. autodoxymethod:: sg_sem_get_capacity(sg_sem_t sem)
+ .. autodoxymethod:: sg_sem_get_capacity(const_sg_sem_t sem)
.. autodoxymethod:: sg_sem_release(sg_sem_t sem)
- .. autodoxymethod:: sg_sem_would_block(sg_sem_t sem)
+ .. autodoxymethod:: sg_sem_would_block(const_sg_sem_t sem)
.. |hr| raw:: html