|
SimGrid
3.14.159
Versatile Simulation of Distributed Systems
|
#include <cstddef>#include <string>#include <utility>#include <memory>#include <functional>#include <xbt/function_types.h>#include <xbt/future.hpp>#include <xbt/functional.hpp>#include <xbt/signal.hpp>#include <simgrid/simix.h>Namespaces | |
| simgrid | |
| Host datatype from SIMIX POV. | |
| simgrid::simix | |
Typedefs | |
| typedef std::function< void()> | simgrid::simix::ActorCode |
| typedef std::function< ActorCode(std::vector< std::string > args)> | simgrid::simix::ActorCodeFactory |
| typedef smx_actor_t(* | smx_creation_func_t) (const char *, std::function< void()> code, void *, sg_host_t, double, xbt_dict_t, int, smx_actor_t) |
Functions | |
| void | simcall_run_kernel (std::function< void()> const &code) |
| void | simcall_run_blocking (std::function< void()> const &code) |
| Execute some code in the kernel and block. More... | |
| template<class F > | |
| void | simcall_run_kernel (F &f) |
| template<class F > | |
| void | simcall_run_blocking (F &f) |
| template<class F > | |
| std::result_of< F()>::type | simgrid::simix::kernelImmediate (F &&code) |
| Execute some code in the kernel/maestro. More... | |
| void | simgrid::simix::set_maestro (std::function< void()> code) |
| void | simgrid::simix::create_maestro (std::function< void()> code) |
| void | simgrid::simix::registerFunction (const char *name, ActorCodeFactory factory) |
| void | SIMIX_function_register_process_create (smx_creation_func_t function) |
| Registers a function to create a process. More... | |
| smx_actor_t | simcall_process_create (const char *name, std::function< void()> code, void *data, sg_host_t host, double kill_time, xbt_dict_t properties, int auto_restart) |
| smx_timer_t | SIMIX_timer_set (double date, simgrid::xbt::Task< void()> callback) |
| template<class F > | |
| smx_timer_t | SIMIX_timer_set (double date, F callback) |
| template<class R , class T > | |
| smx_timer_t | SIMIX_timer_set (double date, R(*callback)(T *), T *arg) |
Variables | |
| simgrid::xbt::signal< void()> | simgrid::simix::onDeadlock |
| These functions will be called when we detect a deadlock: any remaining process is locked on an action. More... | |
| typedef smx_actor_t(* smx_creation_func_t) ( const char *, std::function< void()> code, void *, sg_host_t, double, xbt_dict_t, int, smx_actor_t) |
| void simcall_run_kernel | ( | std::function< void()> const & | code | ) |
| void simcall_run_blocking | ( | std::function< void()> const & | code | ) |
Execute some code in the kernel and block.
run_blocking() is a generic blocking simcall. It is given a callback which is executed immediately in the SimGrid kernel. The callback is responsible for setting the suitable logic for waking up the process when needed.
simix::kernelSync() is a higher level wrapper for this.
|
inline |
|
inline |
| void SIMIX_function_register_process_create | ( | smx_creation_func_t | function | ) |
Registers a function to create a process.
This function registers a function to be called when a new process is created. The function has to call SIMIX_process_create().
| function | create process function |
| smx_actor_t simcall_process_create | ( | const char * | name, |
| std::function< void()> | code, | ||
| void * | data, | ||
| sg_host_t | host, | ||
| double | kill_time, | ||
| xbt_dict_t | properties, | ||
| int | auto_restart | ||
| ) |
| smx_timer_t SIMIX_timer_set | ( | double | date, |
| simgrid::xbt::Task< void()> | callback | ||
| ) |
|
inline |
|
inline |