Zero  0.1.0
log_lsn_tracker.h
Go to the documentation of this file.
1 /*
2  * (c) Copyright 2014, Hewlett-Packard Development Company, LP
3  */
4 #ifndef __LOG_LSN_TRACKER_H
5 #define __LOG_LSN_TRACKER_H
6 
7 #include <cstdint>
8 #include "lsn.h"
9 
25 public:
26  PoorMansOldestLsnTracker(uint32_t buckets);
27 
29 
35  void enter(uint64_t xct_id, const lsn_t& curr_lsn);
36 
41  void leave(uint64_t xct_id);
42 
54 
57  return _cache;
58  }
59 
60 private:
61  uint32_t _buckets;
62 
64 
66 };
67 
68 #endif // __LOG_LSN_TRACKER_H
lsn_t _cache
Definition: log_lsn_tracker.h:65
lsn_t get_oldest_active_lsn(lsn_t curr_lsn)
Definition: log_lsn_tracker.cpp:65
lsn_t get_oldest_active_lsn_cache() const
Definition: log_lsn_tracker.h:56
~PoorMansOldestLsnTracker()
Definition: log_lsn_tracker.cpp:25
PoorMansOldestLsnTracker(uint32_t buckets)
Definition: log_lsn_tracker.cpp:10
void enter(uint64_t xct_id, const lsn_t &curr_lsn)
Definition: log_lsn_tracker.cpp:37
uint64_t lsndata_t
Definition: lsn.h:181
Log Sequence Number. See Log Sequence Numbers (LSN).
Definition: lsn.h:243
uint32_t _buckets
Definition: log_lsn_tracker.h:61
void leave(uint64_t xct_id)
Definition: log_lsn_tracker.cpp:58
lsndata_t * _low_water_marks
Definition: log_lsn_tracker.h:63
This class is a strawman implementation of tracking the oldest active transaction in the system...
Definition: log_lsn_tracker.h:24