Zero  0.1.0
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
page_cleaner_base Class Reference

#include <page_cleaner.h>

Inheritance diagram for page_cleaner_base:
worker_thread_t thread_wrapper_t bf_tree_cleaner page_cleaner_decoupled

Public Member Functions

 page_cleaner_base (const sm_options &_options)
 
virtual ~page_cleaner_base ()
 
virtual void notify_archived_lsn (lsn_t)
 
- Public Member Functions inherited from worker_thread_t
 worker_thread_t (int inverval_ms=-1)
 
virtual ~worker_thread_t ()
 
void wakeup (bool wait=false, int rounds_to_wait=-1)
 
void stop ()
 
void wait_for_round (long round=0)
 
long get_rounds_completed () const
 
bool is_busy () const
 
- Public Member Functions inherited from thread_wrapper_t
 thread_wrapper_t ()
 
virtual ~thread_wrapper_t ()
 
virtual void before_run ()
 
virtual void after_run ()
 
void spawn ()
 
void fork ()
 
void join ()
 

Protected Member Functions

void write_pages (size_t from, size_t to)
 
void mark_pages_clean (size_t from, size_t to)
 
- Protected Member Functions inherited from worker_thread_t
virtual void do_work ()=0
 
bool should_exit () const
 
void notify_one ()
 
void notify_all ()
 
void quit ()
 

Protected Attributes

zero::buffer_pool::BufferPool_bufferpool
 
vector< generic_page, memalign_allocator< generic_page > > _workspace
 
size_t _workspace_size
 
vector< bf_idx_workspace_cb_indexes
 
lsn_t _clean_lsn
 
bool _write_elision
 

Constructor & Destructor Documentation

§ page_cleaner_base()

page_cleaner_base::page_cleaner_base ( const sm_options _options)

§ ~page_cleaner_base()

page_cleaner_base::~page_cleaner_base ( )
virtual

Member Function Documentation

§ mark_pages_clean()

void page_cleaner_base::mark_pages_clean ( size_t  from,
size_t  to 
)
protected

§ notify_archived_lsn()

virtual void page_cleaner_base::notify_archived_lsn ( lsn_t  )
inlinevirtual

Reimplemented in page_cleaner_decoupled.

§ write_pages()

void page_cleaner_base::write_pages ( size_t  from,
size_t  to 
)
protected

Member Data Documentation

§ _bufferpool

zero::buffer_pool::BufferPool* page_cleaner_base::_bufferpool
protected

the buffer pool this cleaner deals with.

§ _clean_lsn

lsn_t page_cleaner_base::_clean_lsn
protected

§ _workspace

vector<generic_page, memalign_allocator<generic_page> > page_cleaner_base::_workspace
protected

in-transit buffer for written pages

§ _workspace_cb_indexes

vector<bf_idx> page_cleaner_base::_workspace_cb_indexes
protected

§ _workspace_size

size_t page_cleaner_base::_workspace_size
protected

§ _write_elision

bool page_cleaner_base::_write_elision
protected

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