|
SimGrid
3.17
Versatile Simulation of Distributed Systems
|
Userspace context switching implementation based on Boost.Context.
#include <ContextBoost.hpp>
Public Member Functions | |
| BoostContext (std::function< void()> code, void_pfn_smxprocess_t cleanup_func, smx_actor_t process) | |
| ~BoostContext () override | |
| void | stop () override |
| virtual void | resume () |
Public Member Functions inherited from simgrid::kernel::context::Context | |
| Context (std::function< void()> code, void_pfn_smxprocess_t cleanup_func, smx_actor_t process) | |
| void | operator() () |
| bool | has_code () const |
| smx_actor_t | process () |
| void | set_cleanup (void_pfn_smxprocess_t cleanup) |
| virtual | ~Context () |
| virtual void | suspend ()=0 |
Public Attributes | |
| friend | BoostContextFactory |
Public Attributes inherited from simgrid::kernel::context::Context | |
| bool | iwannadie |
Protected Types | |
| typedef intptr_t | ctx_arg_type |
Static Protected Member Functions | |
| static void | smx_ctx_boost_wrapper (ctx_arg_type) |
| static void | smx_ctx_boost_jump_fcontext (BoostContext *, BoostContext *) |
Protected Attributes | |
| boost::context::fcontext_t * | fc_ = nullptr |
| void * | stack_ = nullptr |
Static Protected Attributes | |
| static bool | parallel_ = false |
| static simgrid::xbt::Parmap< smx_actor_t > * | parmap_ = nullptr |
| static std::vector< BoostContext * > | workers_context_ |
| static uintptr_t | threads_working_ = 0 |
| static xbt_os_thread_key_t | worker_id_key_ |
| static unsigned long | process_index_ = 0 |
| static BoostContext * | maestro_context_ = nullptr |
|
protected |
| simgrid::kernel::context::BoostContext::BoostContext | ( | std::function< void()> | code, |
| void_pfn_smxprocess_t | cleanup_func, | ||
| smx_actor_t | process | ||
| ) |
|
override |
|
staticprotected |
|
inlinestaticprotected |
|
overridevirtual |
Reimplemented from simgrid::kernel::context::Context.
|
virtual |
|
staticprotected |
|
staticprotected |
|
staticprotected |
|
staticprotected |
|
staticprotected |
|
staticprotected |
|
staticprotected |
|
protected |
|
protected |
| friend simgrid::kernel::context::BoostContext::BoostContextFactory |