libfoedus-core
FOEDUS Core Library
|
#include <page.hpp>
Public Types | |
enum | Constants { kRetiredBit = 1 << 31, kMovedBit = 1 << 30, kHasNextPageBit = 1 << 29, kReservedBit2 = 1 << 28, kVersionMask = 0x0FFFFFFF } |
Public Member Functions | |
PageVersionStatus () | |
void | reset () __attribute__((always_inline)) |
bool | is_moved () const __attribute__((always_inline)) |
bool | is_retired () const __attribute__((always_inline)) |
bool | has_next_page () const __attribute__((always_inline)) |
bool | operator== (const PageVersionStatus &other) const __attribute__((always_inline)) |
bool | operator!= (const PageVersionStatus &other) const __attribute__((always_inline)) |
void | set_moved () __attribute__((always_inline)) |
void | set_retired () __attribute__((always_inline)) |
void | set_has_next_page () __attribute__((always_inline)) |
uint32_t | get_version_counter () const __attribute__((always_inline)) |
void | increment_version_counter () __attribute__((always_inline)) |
Public Attributes | |
uint32_t | status_ |
Friends | |
std::ostream & | operator<< (std::ostream &o, const PageVersionStatus &v) |
Enumerator | |
---|---|
kRetiredBit | |
kMovedBit | |
kHasNextPageBit |
so far used only in hash storage, where data page forms a linked list |
kReservedBit2 | |
kVersionMask |
Definition at line 60 of file page.hpp.
|
inline |
|
inline |
Definition at line 99 of file page.hpp.
References kVersionMask, and status_.
Referenced by foedus::storage::PageVersion::get_version_counter(), increment_version_counter(), and foedus::storage::operator<<().
|
inline |
Definition at line 73 of file page.hpp.
References kHasNextPageBit, and status_.
Referenced by foedus::storage::PageVersion::has_next_page(), foedus::storage::hash::HashStoragePimpl::locate_record(), and set_has_next_page().
|
inline |
Definition at line 103 of file page.hpp.
References ASSERT_ND, get_version_counter(), kVersionMask, and status_.
Referenced by foedus::storage::sequential::SequentialPage::append_record_nosync(), and foedus::storage::PageVersion::increment_version_counter().
|
inline |
Definition at line 71 of file page.hpp.
References kMovedBit, and status_.
Referenced by foedus::storage::PageVersion::is_moved(), foedus::storage::operator<<(), set_has_next_page(), set_moved(), set_retired(), and foedus::storage::masstree::MasstreeCursor::Route::was_stably_moved().
|
inline |
Definition at line 72 of file page.hpp.
References kRetiredBit, and status_.
Referenced by foedus::storage::PageVersion::is_retired(), foedus::storage::operator<<(), set_has_next_page(), and set_retired().
|
inline |
|
inline |
|
inline |
Definition at line 69 of file page.hpp.
References status_.
Referenced by foedus::storage::PageVersion::reset().
|
inline |
Definition at line 91 of file page.hpp.
References ASSERT_ND, has_next_page(), is_moved(), is_retired(), kHasNextPageBit, and status_.
Referenced by foedus::storage::PageVersion::set_has_next_page().
|
inline |
Definition at line 82 of file page.hpp.
References ASSERT_ND, is_moved(), kMovedBit, and status_.
Referenced by foedus::storage::PageVersion::set_moved().
|
inline |
Definition at line 86 of file page.hpp.
References ASSERT_ND, is_moved(), is_retired(), kRetiredBit, and status_.
Referenced by foedus::storage::PageVersion::set_retired().
|
friend |
uint32_t foedus::storage::PageVersionStatus::status_ |
Definition at line 111 of file page.hpp.
Referenced by foedus::storage::masstree::Adopt::adopt_case_a(), get_version_counter(), foedus::storage::masstree::grow_case_a_common(), has_next_page(), increment_version_counter(), is_moved(), is_retired(), operator!=(), foedus::storage::PageVersion::operator!=(), operator==(), foedus::storage::PageVersion::operator==(), reset(), set_has_next_page(), set_moved(), and set_retired().