libfoedus-core
FOEDUS Core Library
|
Compactly represents important status informations of a reducer buffer. More...
Compactly represents important status informations of a reducer buffer.
Concurrent threads use atomic CAS to change any of these information. Last 32 bits are tail position of the buffer in bytes divided by 8, so at most 32 GB buffer.
Definition at line 69 of file log_reducer_impl.hpp.
#include <log_reducer_impl.hpp>
Classes | |
struct | Components |
Public Member Functions | |
bool | is_no_more_writers () const |
bool | is_clear () const |
uint16_t | get_active_writers () const |
BufferPosition | get_tail_position () const |
uint64_t | get_tail_bytes () const |
Public Attributes | |
uint64_t | word |
struct foedus::snapshot::ReducerBufferStatus::Components | components |
|
inline |
Definition at line 81 of file log_reducer_impl.hpp.
References foedus::snapshot::ReducerBufferStatus::Components::active_writers_, and components.
|
inline |
Definition at line 83 of file log_reducer_impl.hpp.
References components, foedus::snapshot::from_buffer_position(), and foedus::snapshot::ReducerBufferStatus::Components::tail_position_.
|
inline |
Definition at line 82 of file log_reducer_impl.hpp.
References components, and foedus::snapshot::ReducerBufferStatus::Components::tail_position_.
|
inline |
Definition at line 80 of file log_reducer_impl.hpp.
Referenced by foedus::snapshot::LogReducer::handle_process().
|
inline |
Definition at line 77 of file log_reducer_impl.hpp.
References components, foedus::snapshot::ReducerBufferStatus::Components::flags_, and foedus::snapshot::kFlagNoMoreWriters.
Referenced by foedus::snapshot::LogReducer::handle_process().
struct foedus::snapshot::ReducerBufferStatus::Components foedus::snapshot::ReducerBufferStatus::components |
uint64_t foedus::snapshot::ReducerBufferStatus::word |
Definition at line 70 of file log_reducer_impl.hpp.
Referenced by foedus::snapshot::LogReducerRef::append_log_chunk(), and foedus::snapshot::LogReducerControlBlock::get_buffer_status_atomic().