Zero  0.1.0
page_cleaner_decoupled.h
Go to the documentation of this file.
1 #ifndef __PAGE_CLEANER_DECOUPLED_H
2 #define __PAGE_CLEANER_DECOUPLED_H
3 
4 #include "buffer_pool.hpp"
5 #include "logarchiver.h"
6 #include "vol.h"
7 #include "generic_page.h"
8 #include "lsn.h"
9 #include "smthread.h"
10 #include "page_cleaner.h"
11 
13 public:
14  page_cleaner_decoupled(const sm_options& _options);
15 
16  virtual ~page_cleaner_decoupled();
17 
18  virtual void notify_archived_lsn(lsn_t);
19 
20 protected:
21  virtual void do_work();
22 
23 private:
24 
25  void update_cb_clean(size_t from, size_t to);
26 
27  void flush_segments();
28 
29  std::vector<PageID> segments;
30 
32 
33  size_t _segment_size;
34 
36 };
37 
38 #endif // __PAGE_CLEANER_DECOUPLED_H
virtual void do_work()
Definition: page_cleaner_decoupled.cpp:29
lsn_t _last_lsn
Definition: page_cleaner_decoupled.h:35
virtual ~page_cleaner_decoupled()
Definition: page_cleaner_decoupled.cpp:23
Definition: page_cleaner.h:17
Start-up parameters for the storage engine. See OPTIONS.
Definition: sm_options.h:24
virtual void notify_archived_lsn(lsn_t)
Definition: page_cleaner_decoupled.cpp:25
Log Sequence Number. See Log Sequence Numbers (LSN).
Definition: lsn.h:243
size_t _segment_size
Definition: page_cleaner_decoupled.h:33
std::vector< PageID > segments
Definition: page_cleaner_decoupled.h:29
void flush_segments()
Definition: page_cleaner_decoupled.cpp:105
Definition: page_cleaner_decoupled.h:12
bool _write_elision
Definition: page_cleaner_decoupled.h:31
page_cleaner_decoupled(const sm_options &_options)
Definition: page_cleaner_decoupled.cpp:10
void update_cb_clean(size_t from, size_t to)
Definition: page_cleaner_decoupled.cpp:152