CUBRID Engine  latest
lockfree::tran::table Class Reference

#include <lockfree_transaction_table.hpp>

Collaboration diagram for lockfree::tran::table:
Collaboration graph

Public Member Functions

 table (system &sys)
 
 ~table ()
 
descriptorget_descriptor (const index &tran_index)
 
void start_tran (const index &tran_index)
 
void end_tran (const index &tran_index)
 
id get_current_global_tranid () const
 
id get_new_global_tranid ()
 
id get_min_active_tranid () const
 
size_t get_total_retire_count () const
 
size_t get_total_reclaim_count () const
 
size_t get_current_retire_count () const
 

Private Member Functions

void compute_min_active_tranid ()
 

Private Attributes

systemm_sys
 
descriptorm_all
 
std::atomic< idm_global_tranid
 
std::atomic< idm_min_active_tranid
 

Static Private Attributes

static const id MATI_REFRESH_INTERVAL = 100
 

Detailed Description

Definition at line 57 of file lockfree_transaction_table.hpp.

Constructor & Destructor Documentation

lockfree::tran::table::~table ( )

Definition at line 46 of file lockfree_transaction_table.cpp.

References m_all.

Member Function Documentation

void lockfree::tran::table::compute_min_active_tranid ( )
private
void lockfree::tran::table::end_tran ( const index tran_index)
id lockfree::tran::table::get_current_global_tranid ( ) const

Definition at line 82 of file lockfree_transaction_table.cpp.

References m_global_tranid.

Referenced by lockfree::tran::descriptor::start_tran().

Here is the caller graph for this function:

size_t lockfree::tran::table::get_current_retire_count ( ) const
descriptor & lockfree::tran::table::get_descriptor ( const index tran_index)
id lockfree::tran::table::get_min_active_tranid ( ) const

Definition at line 105 of file lockfree_transaction_table.cpp.

References m_min_active_tranid.

Referenced by lockfree::tran::descriptor::reclaim_retired_list().

Here is the caller graph for this function:

id lockfree::tran::table::get_new_global_tranid ( )

Definition at line 71 of file lockfree_transaction_table.cpp.

References compute_min_active_tranid(), m_global_tranid, and MATI_REFRESH_INTERVAL.

Referenced by lockfree::tran::descriptor::start_tran_and_increment_id().

Here is the caller graph for this function:

size_t lockfree::tran::table::get_total_reclaim_count ( ) const
size_t lockfree::tran::table::get_total_retire_count ( ) const
void lockfree::tran::table::start_tran ( const index tran_index)

Member Data Documentation

std::atomic<id> lockfree::tran::table::m_global_tranid
private
std::atomic<id> lockfree::tran::table::m_min_active_tranid
private
const id lockfree::tran::table::MATI_REFRESH_INTERVAL = 100
staticprivate

Definition at line 78 of file lockfree_transaction_table.hpp.

Referenced by get_new_global_tranid().


The documentation for this class was generated from the following files: