libfoedus-core
FOEDUS Core Library

Per-thread reused work memory for system transactions. More...

Detailed Description

Per-thread reused work memory for system transactions.

This object is a POD. It is maintained as part of ThreadPimpl for each thread.

System transactions are not exposed to users, so the whole file is _impl.

Definition at line 447 of file sysxct_impl.hpp.

#include <sysxct_impl.hpp>

Collaboration diagram for foedus::xct::SysxctWorkspace:

Public Member Functions

void init (thread::Thread *enclosing_thread)
 

Public Attributes

bool running_sysxct_
 Whether we are already running a sysxct using this workspace. More...
 
char pad1_ [7]
 
thread::Threadthread_
 Back pointer to the enclosing thread,. More...
 
char pad2_ [48]
 
SysxctLockList lock_list_
 Lock list for the system transaction. More...
 

Friends

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

Member Function Documentation

void foedus::xct::SysxctWorkspace::init ( thread::Thread enclosing_thread)
inline

Definition at line 462 of file sysxct_impl.hpp.

References ASSERT_ND, and foedus::xct::SysxctLockList::init().

Referenced by foedus::xct::Xct::initialize().

462  {
463  ASSERT_ND(enclosing_thread);
464  running_sysxct_ = false;
465  thread_ = enclosing_thread;
466  lock_list_.init();
467  }
SysxctLockList lock_list_
Lock list for the system transaction.
thread::Thread * thread_
Back pointer to the enclosing thread,.
bool running_sysxct_
Whether we are already running a sysxct using this workspace.
#define ASSERT_ND(x)
A warning-free wrapper macro of assert() that has no performance effect in release mode even when 'x'...
Definition: assert_nd.hpp:72

Here is the call graph for this function:

Here is the caller graph for this function:

Friends And Related Function Documentation

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

Definition at line 70 of file sysxct_impl.cpp.

70  {
71  o << "<SysxctWorkspace>"
72  << "<running_sysxct_>" << v.running_sysxct_ << "</running_sysxct_>"
73  << v.lock_list_
74  << "</SysxctWorkspace>";
75  return o;
76 }

Member Data Documentation

char foedus::xct::SysxctWorkspace::pad1_[7]

Definition at line 453 of file sysxct_impl.hpp.

char foedus::xct::SysxctWorkspace::pad2_[48]

Definition at line 457 of file sysxct_impl.hpp.

bool foedus::xct::SysxctWorkspace::running_sysxct_
thread::Thread* foedus::xct::SysxctWorkspace::thread_

Back pointer to the enclosing thread,.

Definition at line 456 of file sysxct_impl.hpp.


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