|
SimGrid
3.13
Versatile Simulation of Distributed Systems
|
Classes | |
| class | args |
| class | AttachContext |
| class | BoostContext |
| class | BoostContextFactory |
| class | BoostSerialContext |
| class | Context |
| class | ContextFactory |
| class | ParallelUContext |
| class | RawContext |
| class | RawContextFactory |
| class | SerialUContext |
| class | ThreadContext |
| class | ThreadContextFactory |
| class | UContext |
| class | UContextFactory |
Functions | |
| template<class R , class F > | |
| void | fulfill_promise (std::promise< R > &promise, F &&code) |
| Fulfill a promise by executing a given code. More... | |
| template<class F > | |
| void | fulfill_promise (std::promise< void > &promise, F &&code) |
| Fulfill a promise by executing a given code. More... | |
| template<class F > | |
| std::result_of< F()>::type | kernel (F &&code) |
| Execute some code in the kernel/maestro. More... | |
| std::function< void()> | wrap_main (xbt_main_func_t code, int argc, char **argv) |
| void | set_maestro (std::function< void()> code) |
| void | create_maestro (std::function< void()> code) |
| static void | smx_ctx_boost_wrapper (std::intptr_t arg) |
| XBT_PRIVATE ContextFactory * | boost_factory () |
| ContextFactory * | raw_factory () |
| XBT_PRIVATE ContextFactory * | thread_factory () |
| XBT_PRIVATE ContextFactory * | sysv_factory () |
| template<class R , class... Args> | |
| R | simcall (e_smx_simcall_t call, Args &&...args) |
Variables | |
| ContextFactoryInitializer | factory_initializer = nullptr |
| void simgrid::simix::fulfill_promise | ( | std::promise< R > & | promise, |
| F && | code | ||
| ) |
Fulfill a promise by executing a given code.
| void simgrid::simix::fulfill_promise | ( | std::promise< void > & | promise, |
| F && | code | ||
| ) |
Fulfill a promise by executing a given code.
This is a special version for std::promise<void> because the default version does not compile in this case.
| std::result_of<F()>::type simgrid::simix::kernel | ( | F && | code | ) |
Execute some code in the kernel/maestro.
This can be used to enforce mutual exclusion with other simcall. More importantly, this enforces a deterministic/reproducible ordering of the operation with respect to other simcalls.
|
inline |
| void simgrid::simix::set_maestro | ( | std::function< void()> | code | ) |
| void simgrid::simix::create_maestro | ( | std::function< void()> | code | ) |
|
static |
| XBT_PRIVATE ContextFactory * simgrid::simix::boost_factory | ( | ) |
| XBT_PRIVATE ContextFactory * simgrid::simix::raw_factory | ( | ) |
| XBT_PRIVATE ContextFactory * simgrid::simix::thread_factory | ( | ) |
| XBT_PRIVATE ContextFactory * simgrid::simix::sysv_factory | ( | ) |
|
inline |
| ContextFactoryInitializer simgrid::simix::factory_initializer = nullptr |