libfoedus-core
FOEDUS Core Library
|
Attachable Resources on Shared Memory. More...
Attachable Resources on Shared Memory.
Definition at line 58 of file attachable.hpp.
#include <attachable.hpp>
Public Member Functions | |
Attachable () | |
Attachable (Engine *engine) | |
Attachable (Engine *engine, CONTROL_BLOCK *control_block) | |
Attachable (CONTROL_BLOCK *control_block) | |
virtual | ~Attachable () |
Attachable (const Attachable &other) | |
Attachable & | operator= (const Attachable &other) |
virtual void | attach (CONTROL_BLOCK *control_block) |
Attaches to the given shared memory. More... | |
bool | is_attached () const |
Returns whether the object has been already attached to some shared memory. More... | |
CONTROL_BLOCK * | get_control_block () const |
Engine * | get_engine () const |
void | set_engine (Engine *engine) |
Protected Attributes | |
Engine * | engine_ |
Most attachable object stores an engine pointer (local engine), so we define it here. More... | |
CONTROL_BLOCK * | control_block_ |
The shared data on shared memory that has been initialized in some SOC or master engine. More... | |
|
inline |
Definition at line 60 of file attachable.hpp.
|
inlineexplicit |
Definition at line 61 of file attachable.hpp.
|
inline |
Definition at line 62 of file attachable.hpp.
|
inlineexplicit |
Definition at line 66 of file attachable.hpp.
|
inlinevirtual |
Definition at line 70 of file attachable.hpp.
|
inline |
Definition at line 73 of file attachable.hpp.
|
inlinevirtual |
Attaches to the given shared memory.
[in] | control_block | pointer to shared data on shared memory |
This method should never fail so that we can provide a trivially copy-able semantics. In many cases, this method should be just setting control_block_ as done in the default implementation below. If the object needs to set more things, override this.
Definition at line 91 of file attachable.hpp.
Referenced by foedus::Attachable< LogGleanerControlBlock >::Attachable(), and foedus::log::LogManagerPimpl::initialize_once().
|
inline |
Definition at line 97 of file attachable.hpp.
Referenced by foedus::storage::array::array_volatile_page_init(), foedus::storage::array::ArrayComposer::construct_root(), foedus::storage::hash::HashComposer::construct_root(), foedus::storage::masstree::MasstreeComposer::construct_root(), foedus::storage::sequential::SequentialComposer::construct_root(), foedus::storage::hash::HashPartitioner::design_partition(), foedus::storage::array::ArrayPartitioner::design_partition(), foedus::storage::masstree::MasstreePartitioner::design_partition(), foedus::storage::hash::HashPartitioner::design_partition_task(), foedus::storage::array::ArrayComposer::drop_root_volatile(), foedus::storage::hash::HashComposer::drop_root_volatile(), foedus::storage::masstree::MasstreeComposer::drop_root_volatile(), foedus::storage::array::ArrayComposer::drop_volatiles(), foedus::storage::hash::HashComposer::drop_volatiles(), foedus::storage::masstree::MasstreeComposer::drop_volatiles(), foedus::storage::sequential::SequentialComposer::drop_volatiles(), and foedus::storage::masstree::GrowFirstLayerRoot::run().
|
inline |
Definition at line 99 of file attachable.hpp.
Referenced by foedus::storage::sequential::SequentialAppendLogType::apply_record().
|
inline |
Returns whether the object has been already attached to some shared memory.
Definition at line 96 of file attachable.hpp.
|
inline |
Definition at line 75 of file attachable.hpp.
|
inline |
Definition at line 100 of file attachable.hpp.
Referenced by foedus::log::LogManagerPimpl::initialize_once().
|
protected |
The shared data on shared memory that has been initialized in some SOC or master engine.
Definition at line 111 of file attachable.hpp.
Referenced by foedus::Attachable< LogGleanerControlBlock >::attach(), foedus::storage::Storage< MasstreeStorageControlBlock >::exists(), foedus::Attachable< LogGleanerControlBlock >::get_control_block(), foedus::storage::Storage< MasstreeStorageControlBlock >::get_metadata(), foedus::Attachable< LogGleanerControlBlock >::is_attached(), foedus::storage::operator<<(), foedus::storage::hash::operator<<(), foedus::snapshot::operator<<(), foedus::log::operator<<(), foedus::storage::sequential::SequentialStorage::operator=(), foedus::storage::hash::HashStorage::operator=(), foedus::storage::masstree::MasstreeStorage::operator=(), foedus::storage::array::ArrayStorage::operator=(), foedus::Attachable< LogGleanerControlBlock >::operator=(), and foedus::storage::Storage< MasstreeStorageControlBlock >::operator=().
|
protected |
Most attachable object stores an engine pointer (local engine), so we define it here.
If the object doesn't need it, it can leave this null.
Definition at line 107 of file attachable.hpp.
Referenced by foedus::Attachable< LogGleanerControlBlock >::get_engine(), foedus::storage::sequential::SequentialStorage::operator=(), foedus::storage::masstree::MasstreeStorage::operator=(), foedus::storage::hash::HashStorage::operator=(), foedus::storage::array::ArrayStorage::operator=(), foedus::Attachable< LogGleanerControlBlock >::operator=(), foedus::storage::Storage< MasstreeStorageControlBlock >::operator=(), and foedus::Attachable< LogGleanerControlBlock >::set_engine().