libfoedus-core
FOEDUS Core Library
|
Current status of a child SOC engine. More...
Current status of a child SOC engine.
This object is placed in shared memory, so this must not have a heap-allocated member.
Definition at line 142 of file shared_memory_repo.hpp.
#include <shared_memory_repo.hpp>
Public Types | |
enum | StatusCode { kInitial = 0, kSharedMemoryAttached, kWaitingForMasterInitialization, kRunning, kTerminated, kFatalError } |
These statuses represent each step described in SocManager comment. More... | |
Public Member Functions | |
ChildEngineStatus ()=delete | |
~ChildEngineStatus ()=delete | |
ChildEngineStatus (const ChildEngineStatus &other)=delete | |
ChildEngineStatus & | operator= (const ChildEngineStatus &other)=delete |
void | change_status_atomic (StatusCode new_status) |
Update the value of status_code_ with fence. More... | |
StatusCode | read_status_atomic () const |
Read status_code_ with fence. More... | |
void | change_init_atomic (ModuleType value) |
void | change_uninit_atomic (ModuleType value) |
Public Attributes | |
StatusCode | status_code_ |
ModuleType | initialized_modules_ |
The module that has been most recently initialized in this node. More... | |
ModuleType | uninitialized_modules_ |
The module that has been most recently closed in this node. More... | |
These statuses represent each step described in SocManager comment.
The status always increases one-by-one or jumps to kFatalError.
Definition at line 147 of file shared_memory_repo.hpp.
|
delete |
|
delete |
|
delete |
|
inline |
Definition at line 192 of file shared_memory_repo.hpp.
References ASSERT_ND, initialized_modules_, and foedus::assorted::memory_fence_acq_rel().
Referenced by foedus::EnginePimpl::on_module_initialized().
|
inline |
Update the value of status_code_ with fence.
Definition at line 179 of file shared_memory_repo.hpp.
References ASSERT_ND, kFatalError, foedus::assorted::memory_fence_acq_rel(), and status_code_.
Referenced by foedus::soc::SharedMemoryRepo::change_child_status(), and foedus::soc::SocManagerPimpl::report_engine_fatal_error().
|
inline |
Definition at line 198 of file shared_memory_repo.hpp.
References ASSERT_ND, foedus::assorted::memory_fence_acq_rel(), and uninitialized_modules_.
Referenced by foedus::EnginePimpl::on_module_uninitialized().
|
delete |
|
inline |
Read status_code_ with fence.
Definition at line 187 of file shared_memory_repo.hpp.
References foedus::assorted::memory_fence_acq_rel(), and status_code_.
Referenced by foedus::soc::SharedMemoryRepo::get_child_status().
ModuleType foedus::soc::ChildEngineStatus::initialized_modules_ |
The module that has been most recently initialized in this node.
Used to synchronize init.
Definition at line 207 of file shared_memory_repo.hpp.
Referenced by change_init_atomic(), foedus::soc::SocManagerPimpl::initialize_master(), and foedus::soc::SocManagerPimpl::wait_for_children_module().
StatusCode foedus::soc::ChildEngineStatus::status_code_ |
Definition at line 205 of file shared_memory_repo.hpp.
Referenced by change_status_atomic(), foedus::soc::SocManagerPimpl::initialize_master(), foedus::EnginePimpl::initialize_once(), read_status_atomic(), and foedus::soc::SocManagerPimpl::wait_for_children_module().
ModuleType foedus::soc::ChildEngineStatus::uninitialized_modules_ |
The module that has been most recently closed in this node.
Used to synchronize uninit.
Definition at line 209 of file shared_memory_repo.hpp.
Referenced by change_uninit_atomic(), foedus::soc::SocManagerPimpl::initialize_master(), and foedus::soc::SocManagerPimpl::wait_for_children_module().