libfoedus-core
FOEDUS Core Library
foedus::xct::PointerAccess Struct Reference

Represents a record of following a page pointer during a transaction. More...

Detailed Description

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.

POD
This is a POD struct. Default destructor/copy-constructor/assignment operator work fine.

Definition at line 48 of file xct_access.hpp.

#include <xct_access.hpp>

Collaboration diagram for foedus::xct::PointerAccess:

Public Attributes

const storage::VolatilePagePointeraddress_
 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)
 

Friends And Related Function Documentation

std::ostream& operator<< ( std::ostream &  o,
const PointerAccess v 
)
friend

Definition at line 32 of file xct_access.cpp.

32  {
33  o << "<PointerAccess><address>" << v.address_ << "</address>"
34  << "<observed>" << assorted::Hex(v.observed_.word) << "</observed></PointerAccess>";
35  return o;
36 }

Member Data Documentation

const storage::VolatilePagePointer* foedus::xct::PointerAccess::address_
storage::VolatilePagePointer foedus::xct::PointerAccess::observed_

The documentation for this struct was generated from the following file: