libfoedus-core
FOEDUS Core Library
|
Current status of master engine. More...
Current status of master engine.
This object is placed in shared memory, so this must not have a heap-allocated member.
Definition at line 60 of file shared_memory_repo.hpp.
#include <shared_memory_repo.hpp>
Public Types | |
enum | StatusCode { kInitial = 0, kSharedMemoryAllocated, kSharedMemoryReservedReclamation, kRunning, kWaitingForChildTerminate, kTerminated, kFatalError } |
These statuses represent each step described in SocManager comment. More... | |
Public Member Functions | |
MasterEngineStatus ()=delete | |
~MasterEngineStatus ()=delete | |
MasterEngineStatus (const MasterEngineStatus &other)=delete | |
MasterEngineStatus & | operator= (const MasterEngineStatus &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 master. More... | |
ModuleType | uninitialized_modules_ |
The module that has been most recently closed in master. More... | |
These statuses represent each step described in SocManager comment.
The status always increases one-by-one or jumps to kFatalError.
Definition at line 65 of file shared_memory_repo.hpp.
|
delete |
|
delete |
|
delete |
|
inline |
Definition at line 115 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 102 of file shared_memory_repo.hpp.
References ASSERT_ND, kFatalError, kWaitingForChildTerminate, foedus::assorted::memory_fence_acq_rel(), and status_code_.
Referenced by foedus::soc::SharedMemoryRepo::change_master_status(), and foedus::soc::SocManagerPimpl::report_engine_fatal_error().
|
inline |
Definition at line 121 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 110 of file shared_memory_repo.hpp.
References foedus::assorted::memory_fence_acq_rel(), and status_code_.
Referenced by foedus::soc::SharedMemoryRepo::get_master_status().
ModuleType foedus::soc::MasterEngineStatus::initialized_modules_ |
The module that has been most recently initialized in master.
Used to synchronize init.
Definition at line 130 of file shared_memory_repo.hpp.
Referenced by change_init_atomic(), foedus::soc::SocManagerPimpl::initialize_master(), and foedus::soc::SocManagerPimpl::wait_for_master_module().
StatusCode foedus::soc::MasterEngineStatus::status_code_ |
Definition at line 128 of file shared_memory_repo.hpp.
Referenced by foedus::soc::SharedMemoryRepo::allocate_shared_memories(), change_status_atomic(), foedus::soc::SocManagerPimpl::initialize_master(), read_status_atomic(), and foedus::soc::SocManagerPimpl::wait_for_master_module().
ModuleType foedus::soc::MasterEngineStatus::uninitialized_modules_ |
The module that has been most recently closed in master.
Used to synchronize uninit.
Definition at line 132 of file shared_memory_repo.hpp.
Referenced by change_uninit_atomic(), foedus::soc::SocManagerPimpl::initialize_master(), and foedus::soc::SocManagerPimpl::wait_for_master_module().