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

Represents a record of special write-access during a transaction without any need for locking. More...

Detailed Description

Represents a record of special write-access during a transaction without any need for locking.

Some storage type doesn't need locking for serializability (so far Sequential Storage only) For them, we maintain this write-set objects separated from WriteXctAccess. We don't lock/unlock for these records, and we don't even have to remember what we observed (actually, we don't even observe anything when we create this).

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

Definition at line 228 of file xct_access.hpp.

#include <xct_access.hpp>

Collaboration diagram for foedus::xct::LockFreeWriteXctAccess:

Public Attributes

storage::StorageId storage_id_
 The storage we accessed. More...
 
log::RecordLogTypelog_entry_
 Pointer to the log entry in private log buffer for this write opereation. More...
 

Friends

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

Friends And Related Function Documentation

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

Definition at line 85 of file xct_access.cpp.

85  {
86  o << "<LockFreeWriteXctAccess>"
87  << "<storage>" << v.storage_id_ << "</storage>";
88  log::invoke_ostream(v.log_entry_, &o);
89  o << "</LockFreeWriteXctAccess>";
90  return o;
91 }
void invoke_ostream(const void *buffer, std::ostream *ptr)
Invokes the ostream operator for the given log type defined in log_type.xmacro.

Member Data Documentation

log::RecordLogType* foedus::xct::LockFreeWriteXctAccess::log_entry_

Pointer to the log entry in private log buffer for this write opereation.

Definition at line 235 of file xct_access.hpp.

Referenced by foedus::xct::Xct::add_to_lock_free_write_set(), foedus::xct::operator<<(), and foedus::xct::XctManagerPimpl::precommit_xct_apply().

storage::StorageId foedus::xct::LockFreeWriteXctAccess::storage_id_

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