CUBRID Engine
latest
|
#include <lockfree_transaction_table.hpp>
Public Member Functions | |
table (system &sys) | |
~table () | |
descriptor & | get_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 | |
system & | m_sys |
descriptor * | m_all |
std::atomic< id > | m_global_tranid |
std::atomic< id > | m_min_active_tranid |
Static Private Attributes | |
static const id | MATI_REFRESH_INTERVAL = 100 |
Definition at line 57 of file lockfree_transaction_table.hpp.
lockfree::tran::table::table | ( | system & | sys | ) |
Definition at line 34 of file lockfree_transaction_table.cpp.
References lockfree::tran::system::get_max_transaction_count(), i, m_all, m_min_active_tranid, m_sys, and lockfree::tran::descriptor::set_table().
lockfree::tran::table::~table | ( | ) |
Definition at line 46 of file lockfree_transaction_table.cpp.
References m_all.
|
private |
Definition at line 88 of file lockfree_transaction_table.cpp.
References lockfree::tran::system::get_max_transaction_count(), lockfree::tran::descriptor::get_transaction_id(), lockfree::tran::INVALID_TRANID, m_all, m_min_active_tranid, and m_sys.
Referenced by get_new_global_tranid().
Definition at line 65 of file lockfree_transaction_table.cpp.
References lockfree::tran::descriptor::end_tran(), and get_descriptor().
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().
size_t lockfree::tran::table::get_current_retire_count | ( | ) | const |
Definition at line 133 of file lockfree_transaction_table.cpp.
References lockfree::tran::descriptor::get_current_retire_count(), lockfree::tran::system::get_max_transaction_count(), m_all, and m_sys.
descriptor & lockfree::tran::table::get_descriptor | ( | const index & | tran_index | ) |
Definition at line 52 of file lockfree_transaction_table.cpp.
References assert, lockfree::tran::system::get_max_transaction_count(), m_all, and m_sys.
Referenced by lockfree::freelist< T >::claim(), end_tran(), lockfree::hashmap< Key, T >::get_tran_descriptor(), lockfree::freelist< T >::retire(), and start_tran().
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().
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().
size_t lockfree::tran::table::get_total_reclaim_count | ( | ) | const |
Definition at line 122 of file lockfree_transaction_table.cpp.
References lockfree::tran::system::get_max_transaction_count(), lockfree::tran::descriptor::get_total_reclaim_count(), m_all, and m_sys.
size_t lockfree::tran::table::get_total_retire_count | ( | ) | const |
Definition at line 111 of file lockfree_transaction_table.cpp.
References lockfree::tran::system::get_max_transaction_count(), lockfree::tran::descriptor::get_total_retire_count(), m_all, and m_sys.
Definition at line 59 of file lockfree_transaction_table.cpp.
References get_descriptor(), and lockfree::tran::descriptor::start_tran().
|
private |
Definition at line 83 of file lockfree_transaction_table.hpp.
Referenced by compute_min_active_tranid(), get_current_retire_count(), get_descriptor(), get_total_reclaim_count(), get_total_retire_count(), table(), and ~table().
|
private |
Definition at line 84 of file lockfree_transaction_table.hpp.
Referenced by get_current_global_tranid(), and get_new_global_tranid().
|
private |
Definition at line 85 of file lockfree_transaction_table.hpp.
Referenced by compute_min_active_tranid(), get_min_active_tranid(), and table().
|
private |
Definition at line 82 of file lockfree_transaction_table.hpp.
Referenced by compute_min_active_tranid(), get_current_retire_count(), get_descriptor(), get_total_reclaim_count(), get_total_retire_count(), and table().
Definition at line 78 of file lockfree_transaction_table.hpp.
Referenced by get_new_global_tranid().