Go to the documentation of this file.
16 #ifndef GRAPHSCOPE_DATABASE_VERSION_MANAGER_H_
17 #define GRAPHSCOPE_DATABASE_VERSION_MANAGER_H_
28 #include "glog/logging.h"
29 #include "grape/utils/bitset.h"
30 #include "grape/utils/concurrent_queue.h"
39 void init_ts(uint32_t ts,
int thread_num);
69 #endif // GRAPHSCOPE_DATABASE_VERSION_MANAGER_H_
grape::SpinLock lock_
Definition: version_manager.h:62
int thread_num_
Definition: version_manager.h:64
void clear()
Definition: version_manager.cc:37
VersionManager()
Definition: version_manager.cc:27
void init_ts(uint32_t ts, int thread_num)
Definition: version_manager.cc:31
uint32_t acquire_update_timestamp()
Definition: version_manager.cc:101
Definition: adj_list.h:23
std::atomic< uint32_t > write_ts_
Definition: version_manager.h:55
void release_read_timestamp()
Definition: version_manager.cc:64
uint32_t acquire_read_timestamp()
Definition: version_manager.cc:44
Definition: version_manager.h:34
std::atomic< uint32_t > read_ts_
Definition: version_manager.h:56
bool revert_update_timestamp(uint32_t ts)
Definition: version_manager.cc:133
uint32_t acquire_insert_timestamp()
Definition: version_manager.cc:66
grape::Bitset buf_
Definition: version_manager.h:61
void release_update_timestamp(uint32_t ts)
Definition: version_manager.cc:118
void release_insert_timestamp(uint32_t ts)
Definition: version_manager.cc:86
std::atomic< int > pending_reqs_
Definition: version_manager.h:58
std::atomic< int > pending_update_reqs_
Definition: version_manager.h:59
~VersionManager()
Definition: version_manager.cc:29