49 std::vector< proc::ProcAndName > procedures;
friend class SocManagerPimpl
ErrorStack initialize() override
Acquires resources in this object, usually called right after constructor.
ErrorStack wait_for_children_module(bool init, ModuleType module)
Wait for other engines to finish init/uninit the module.
static void trap_spawned_soc_main()
This should be called at the beginning of main() if the executable expects to be spawned as SOC engin...
Root package of FOEDUS (Fast Optimistic Engine for Data Unification Services).
ErrorStack uninitialize() override
An idempotent method to release all resources of this object, if any.
static void spawned_child_main(const std::vector< proc::ProcAndName > &procedures)
Main routine of spawned SOCs.
void report_engine_fatal_error()
Announce fatal error state of this (either master or child) engine if possible.
ErrorStack uninitialize() override final
Typical implementation of Initializable::uninitialize() that provides uninitialize-once semantics...
Brings error stacktrace information as return value of functions.
ErrorStack wait_for_master_module(bool init, ModuleType module)
Wait for master engine to finish init/uninit the module.
const EngineOptions & get_options() const
ModuleType
Enumerates modules in FOEDUS engine.
uint64_t get_shared_user_memory_size() const
void * get_shared_user_memory() const
Shortcut for get_shared_memory_repo()->get_global_user_memory()
ErrorStack wait_for_children_module(bool init, ModuleType module)
ErrorStack initialize() override final
Typical implementation of Initializable::initialize() that provides initialize-once semantics...
ErrorStack wait_for_master_module(bool init, ModuleType module)
Database engine object that holds all resources and provides APIs.
bool is_initialized() const override
Returns whether the object has been already initialized or not.
Repository of all shared memory in one FOEDUS instance.
void report_engine_fatal_error()
SharedMemoryRepo memory_repo_
uint64_t shared_user_memory_size_kb_
As part of the global shared memory, we reserve this size of 'user memory' that can be used for arbit...
bool is_initialized() const override final
Returns whether the object has been already initialized or not.
void * get_global_user_memory()
SharedMemoryRepo * get_shared_memory_repo()
Returns the shared memories maintained across SOCs.