18 #ifndef FOEDUS_SOC_SOC_MANAGER_PIMPL_HPP_
19 #define FOEDUS_SOC_SOC_MANAGER_PIMPL_HPP_
22 #include <sys/types.h>
84 const std::vector< proc::ProcAndName >& procedures);
105 #endif // FOEDUS_SOC_SOC_MANAGER_PIMPL_HPP_
ErrorStack uninitialize_once() override
Upid child_upids_[kMaxSocs]
Process IDs of child SOCs.
void emulated_child_main(SocId node)
Main routine of emulated SOCs.
static ErrorStack child_main_common(EngineType engine_type, Upid master_upid, Eid master_eid, SocId node, const std::vector< proc::ProcAndName > &procedures)
ErrorStack launch_forked_children()
Launch children via fork.
Root package of FOEDUS (Fast Optimistic Engine for Data Unification Services).
std::vector< std::thread > child_emulated_threads_
Threads that emulate child SOCs.
static void spawned_child_main(const std::vector< proc::ProcAndName > &procedures)
Main routine of spawned SOCs.
Forward declarations of classes in root package.
Brings error stacktrace information as return value of functions.
Typedefs of ID types used in SOC package.
Typical implementation of Initializable as a skeleton base class.
ErrorStack initialize_master()
Called as part of initialize_once() if this is a master engine.
ModuleType
Enumerates modules in FOEDUS engine.
ErrorStack wait_for_child_attach()
Wait for child SOCs to start up and at least finish attaching shared memory.
ErrorStack wait_for_children_module(bool init, ModuleType module)
ErrorStack launch_emulated_children()
Launch emulated children as threads.
int forked_child_main(SocId node)
Main routine of forked SOCs.
ErrorStack wait_for_master_module(bool init, ModuleType module)
Database engine object that holds all resources and provides APIs.
Typedefs of ID types used in procedure package.
std::vector< Engine * > child_emulated_engines_
And their engines.
ErrorStack initialize_once() override
EngineType
Type of an engine instance of how to launch it.
ErrorStack launch_spawned_children()
Launch children via spawn.
ErrorStack wait_for_master_status(MasterEngineStatus::StatusCode target_status)
Wait for master engine to finish upto the specified status.
uint64_t Upid
Universal (or Unique) ID of a process.
Repository of all shared memory in one FOEDUS instance.
void report_engine_fatal_error()
SharedMemoryRepo memory_repo_
Forward declarations of classes in SOC package.
ErrorStack wait_for_child_terminate()
Wait for child SOCs to terminate.
uint16_t SocId
Represents an ID of an SOC, or NUMA node.
Pimpl object of SocManager.
SocManagerPimpl(Engine *engine)
uint64_t Eid
An Engine ID to differentiate two Engine objects instantiated in the same process.
ErrorStack initialize_child()
Called as part of initialize_once() if this is a child SOC engine.
const uint16_t kMaxSocs
Maximum number of SOCs.
StatusCode
These statuses represent each step described in SocManager comment.