libfoedus-core
FOEDUS Core Library
|
Represents a record of following a page pointer during a transaction. More...
Represents a record of following a page pointer during a transaction.
This is used in two cases. First, when we follow a snapshot pointer because a volatile pointer was null, then we add the address of the volatile pointer to this set so that we can get aware of the new version at precommit time. Second, if a page pointer can be swapped for some reason (usually only a root page), we add the pointer even if we are following a volatile pointer.
Definition at line 48 of file xct_access.hpp.
#include <xct_access.hpp>
Public Attributes | |
const storage::VolatilePagePointer * | address_ |
Address of the volatile pointer. More... | |
storage::VolatilePagePointer | observed_ |
Value of the volatile pointer as of the access. More... | |
Friends | |
std::ostream & | operator<< (std::ostream &o, const PointerAccess &v) |
|
friend |
Definition at line 32 of file xct_access.cpp.
const storage::VolatilePagePointer* foedus::xct::PointerAccess::address_ |
Address of the volatile pointer.
Definition at line 52 of file xct_access.hpp.
Referenced by foedus::xct::Xct::add_to_pointer_set(), foedus::xct::operator<<(), and foedus::xct::XctManagerPimpl::precommit_xct_verify_pointer_set().
storage::VolatilePagePointer foedus::xct::PointerAccess::observed_ |
Value of the volatile pointer as of the access.
Definition at line 55 of file xct_access.hpp.
Referenced by foedus::xct::Xct::add_to_pointer_set(), foedus::xct::operator<<(), foedus::xct::Xct::overwrite_to_pointer_set(), and foedus::xct::XctManagerPimpl::precommit_xct_verify_pointer_set().