libfoedus-core
FOEDUS Core Library
|
Analogous to the entire engine. More...
Analogous to the entire engine.
Definition at line 247 of file xct_mcs_adapter_impl.hpp.
#include <xct_mcs_adapter_impl.hpp>
Public Member Functions | |
void | init (storage::StorageId dummy_storage_id, uint32_t nodes, uint32_t threads_per_node, uint32_t max_block_count, uint32_t max_lock_count) |
RwLockableXctId * | get_rw_lock_address (uint16_t node_id, uint64_t lock_index) |
McsWwLock * | get_ww_lock_address (uint16_t node_id, uint64_t lock_index) |
Public Attributes | |
uint32_t | max_block_count_ |
uint32_t | max_lock_count_ |
uint32_t | pages_per_node_ |
std::vector< McsMockNode< RW_BLOCK > > | nodes_ |
memory::GlobalVolatilePageResolver | page_memory_resolver_ |
All locks managed by this objects are placed in these memory regions. More... | |
|
inline |
Definition at line 269 of file xct_mcs_adapter_impl.hpp.
References ASSERT_ND, foedus::xct::kMcsMockDataPageLocksPerPage, foedus::xct::McsMockContext< RW_BLOCK >::max_lock_count_, foedus::xct::McsMockContext< RW_BLOCK >::nodes_, foedus::xct::McsMockContext< RW_BLOCK >::pages_per_node_, and foedus::xct::McsMockDataPage::tid_.
|
inline |
Definition at line 278 of file xct_mcs_adapter_impl.hpp.
References ASSERT_ND, foedus::xct::kMcsMockDataPageLocksPerPage, foedus::xct::McsMockContext< RW_BLOCK >::max_lock_count_, foedus::xct::McsMockContext< RW_BLOCK >::nodes_, foedus::xct::McsMockContext< RW_BLOCK >::pages_per_node_, and foedus::xct::McsMockDataPage::ww_.
|
inline |
Definition at line 248 of file xct_mcs_adapter_impl.hpp.
References ASSERT_ND, foedus::memory::GlobalVolatilePageResolver::bases_, foedus::memory::GlobalVolatilePageResolver::begin_, foedus::memory::GlobalVolatilePageResolver::end_, foedus::xct::kMcsMockDataPageLocksPerPage, foedus::xct::McsMockContext< RW_BLOCK >::max_block_count_, foedus::xct::McsMockContext< RW_BLOCK >::max_lock_count_, foedus::xct::McsMockContext< RW_BLOCK >::nodes_, foedus::memory::GlobalVolatilePageResolver::numa_node_count_, foedus::xct::McsMockContext< RW_BLOCK >::page_memory_resolver_, and foedus::xct::McsMockContext< RW_BLOCK >::pages_per_node_.
uint32_t foedus::xct::McsMockContext< RW_BLOCK >::max_block_count_ |
Definition at line 288 of file xct_mcs_adapter_impl.hpp.
Referenced by foedus::xct::McsMockContext< RW_BLOCK >::init().
uint32_t foedus::xct::McsMockContext< RW_BLOCK >::max_lock_count_ |
Definition at line 289 of file xct_mcs_adapter_impl.hpp.
Referenced by foedus::xct::McsMockContext< RW_BLOCK >::get_rw_lock_address(), foedus::xct::McsMockContext< RW_BLOCK >::get_ww_lock_address(), and foedus::xct::McsMockContext< RW_BLOCK >::init().
std::vector< McsMockNode<RW_BLOCK> > foedus::xct::McsMockContext< RW_BLOCK >::nodes_ |
Definition at line 291 of file xct_mcs_adapter_impl.hpp.
Referenced by foedus::xct::McsMockContext< RW_BLOCK >::get_rw_lock_address(), foedus::xct::McsMockContext< RW_BLOCK >::get_ww_lock_address(), and foedus::xct::McsMockContext< RW_BLOCK >::init().
memory::GlobalVolatilePageResolver foedus::xct::McsMockContext< RW_BLOCK >::page_memory_resolver_ |
All locks managed by this objects are placed in these memory regions.
Unlike the real engine, these are not shared-memory, but the page resolver logic doesn't care whether it's shared-memory or not, so it's fine.
Definition at line 297 of file xct_mcs_adapter_impl.hpp.
Referenced by foedus::xct::McsMockContext< RW_BLOCK >::init().
uint32_t foedus::xct::McsMockContext< RW_BLOCK >::pages_per_node_ |
Definition at line 290 of file xct_mcs_adapter_impl.hpp.
Referenced by foedus::xct::McsMockContext< RW_BLOCK >::get_rw_lock_address(), foedus::xct::McsMockContext< RW_BLOCK >::get_ww_lock_address(), and foedus::xct::McsMockContext< RW_BLOCK >::init().