libfoedus-core
FOEDUS Core Library
sysxct_impl.hpp File Reference
#include <algorithm>
#include <iosfwd>
#include "foedus/assert_nd.hpp"
#include "foedus/compiler.hpp"
#include "foedus/error_code.hpp"
#include "foedus/fwd.hpp"
#include "foedus/storage/page.hpp"
#include "foedus/storage/record.hpp"
#include "foedus/thread/fwd.hpp"
#include "foedus/xct/fwd.hpp"
#include "foedus/xct/sysxct_functor.hpp"
#include "foedus/xct/xct_id.hpp"
#include "foedus/xct/xct_mcs_impl.hpp"
Include dependency graph for sysxct_impl.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  foedus::xct::PageComparator
 
struct  foedus::xct::SysxctLockEntry
 An entry in CLL/RLL for system transactions. More...
 
struct  foedus::xct::SysxctLockEntry::LessThan
 for std::binary_search() etc without creating the object More...
 
class  foedus::xct::SysxctLockList
 RLL/CLL of a system transaction. More...
 
struct  foedus::xct::SysxctWorkspace
 Per-thread reused work memory for system transactions. More...
 

Namespaces

 foedus
 Root package of FOEDUS (Fast Optimistic Engine for Data Unification Services).
 
 foedus::xct
 Transaction Manager, which provides APIs to begin/commit/abort transactions.
 

Functions

UniversalLockId foedus::xct::to_universal_lock_id (storage::VolatilePagePointer page_id, uintptr_t addr)
 
template<typename MCS_ADAPTOR , typename ENCLOSURE_RELEASE_ALL_LOCKS_FUNCTOR >
ErrorCode foedus::xct::run_nested_sysxct_impl (SysxctFunctor *functor, MCS_ADAPTOR mcs_adaptor, uint32_t max_retries, SysxctWorkspace *workspace, UniversalLockId enclosing_max_lock_id, ENCLOSURE_RELEASE_ALL_LOCKS_FUNCTOR enclosure_release_all_locks_functor)
 Runs a system transaction nested in a user transaction. More...