|
SimGrid
3.14.159
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 | |
| 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 | stop () |
| virtual void | suspend ()=0 |
Public Attributes | |
| friend | BoostContextFactory |
Public Attributes inherited from simgrid::kernel::context::Context | |
| bool | iwannadie |
Protected Attributes | |
| boost::context::fcontext_t | fc_ |
| void * | stack_ = nullptr |
Static Protected Attributes | |
| static bool | parallel_ = false |
| static xbt_parmap_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 |
| simgrid::kernel::context::BoostContext::BoostContext | ( | std::function< void()> | code, |
| void_pfn_smxprocess_t | cleanup_func, | ||
| smx_actor_t | process | ||
| ) |
|
override |
|
virtual |
|
staticprotected |
|
staticprotected |
|
staticprotected |
|
staticprotected |
|
staticprotected |
|
staticprotected |
|
staticprotected |
|
protected |
|
protected |
| friend simgrid::kernel::context::BoostContext::BoostContextFactory |