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

#include <lockfree_transaction_descriptor.hpp>

Collaboration diagram for lockfree::tran::descriptor:
Collaboration graph

Public Member Functions

 descriptor ()
 
 ~descriptor ()
 
void retire_node (reclaimable_node &hzp)
 
void set_table (table &tbl)
 
void start_tran ()
 
void start_tran_and_increment_id ()
 
void end_tran ()
 
bool is_tran_started () const
 
id get_transaction_id () const
 
void reclaim_retired_list ()
 
void save_reclaimable (reclaimable_node *&node)
 
reclaimable_nodepull_saved_reclaimable ()
 
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 reclaim_retired_head ()
 

Private Attributes

tablem_table
 
id m_tranid
 
id m_last_reclaim_minid
 
reclaimable_nodem_retired_head
 
reclaimable_nodem_retired_tail
 
bool m_did_incr
 
reclaimable_nodem_saved_node
 
size_t m_retire_count
 
size_t m_reclaim_count
 

Detailed Description

Definition at line 51 of file lockfree_transaction_descriptor.hpp.

Constructor & Destructor Documentation

lockfree::tran::descriptor::descriptor ( )

Definition at line 30 of file lockfree_transaction_descriptor.cpp.

lockfree::tran::descriptor::~descriptor ( )

Member Function Documentation

size_t lockfree::tran::descriptor::get_current_retire_count ( ) const

Definition at line 196 of file lockfree_transaction_descriptor.cpp.

References m_reclaim_count, and m_retire_count.

Referenced by lockfree::tran::table::get_current_retire_count().

Here is the caller graph for this function:

size_t lockfree::tran::descriptor::get_total_reclaim_count ( ) const

Definition at line 190 of file lockfree_transaction_descriptor.cpp.

References m_reclaim_count.

Referenced by lockfree::tran::table::get_total_reclaim_count().

Here is the caller graph for this function:

size_t lockfree::tran::descriptor::get_total_retire_count ( ) const

Definition at line 184 of file lockfree_transaction_descriptor.cpp.

References m_retire_count.

Referenced by lockfree::tran::table::get_total_retire_count().

Here is the caller graph for this function:

id lockfree::tran::descriptor::get_transaction_id ( ) const

Definition at line 125 of file lockfree_transaction_descriptor.cpp.

References m_tranid.

Referenced by lockfree::tran::table::compute_min_active_tranid().

Here is the caller graph for this function:

reclaimable_node * lockfree::tran::descriptor::pull_saved_reclaimable ( )

Definition at line 176 of file lockfree_transaction_descriptor.cpp.

References m_saved_node, and NULL.

Referenced by lockfree::hashmap< Key, T >::claim_temporary(), and lockfree::hashmap< Key, T >::freelist_claim().

Here is the caller graph for this function:

void lockfree::tran::descriptor::reclaim_retired_head ( )
private
void lockfree::tran::descriptor::reclaim_retired_list ( )
void lockfree::tran::descriptor::save_reclaimable ( reclaimable_node *&  node)

Definition at line 168 of file lockfree_transaction_descriptor.cpp.

References assert, m_saved_node, and NULL.

Referenced by lockfree::hashmap< Key, T >::save_temporary().

Here is the caller graph for this function:

void lockfree::tran::descriptor::set_table ( table tbl)

Definition at line 57 of file lockfree_transaction_descriptor.cpp.

References m_table.

Referenced by lockfree::tran::table::table().

Here is the caller graph for this function:

void lockfree::tran::descriptor::start_tran_and_increment_id ( )

Member Data Documentation

bool lockfree::tran::descriptor::m_did_incr
private

Definition at line 90 of file lockfree_transaction_descriptor.hpp.

Referenced by end_tran(), and start_tran_and_increment_id().

id lockfree::tran::descriptor::m_last_reclaim_minid
private

Definition at line 87 of file lockfree_transaction_descriptor.hpp.

Referenced by reclaim_retired_list().

size_t lockfree::tran::descriptor::m_reclaim_count
private
size_t lockfree::tran::descriptor::m_retire_count
private
reclaimable_node* lockfree::tran::descriptor::m_retired_head
private
reclaimable_node* lockfree::tran::descriptor::m_retired_tail
private
reclaimable_node* lockfree::tran::descriptor::m_saved_node
private
table* lockfree::tran::descriptor::m_table
private
id lockfree::tran::descriptor::m_tranid
private

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