Zero  0.1.0
Public Member Functions | Private Member Functions | Private Attributes | List of all members
chkpt_m Class Reference

#include <chkpt.h>

Inheritance diagram for chkpt_m:
worker_thread_t thread_wrapper_t

Public Member Functions

 chkpt_m (const sm_options &, chkpt_t *chkpt_info=nullptr)
 chkpt_info is obtained via log analysis More...
 
virtual ~chkpt_m ()
 
virtual void do_work ()
 
void take (chkpt_t *chkpt=nullptr)
 
lsn_t get_min_rec_lsn ()
 
lsn_t get_min_xct_lsn ()
 
lsn_t get_min_active_lsn ()
 
- 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 ()
 

Private Member Functions

void _acquire_lock (logrec_t &r, chkpt_t &new_chkpt)
 

Private Attributes

long _chkpt_count
 
chkpt_t curr_chkpt
 
std::mutex chkpt_mutex
 
lsn_t _min_rec_lsn
 
lsn_t _min_xct_lsn
 
lsn_t _last_end_lsn
 
bool _use_log_archive
 
bool _log_based
 
bool _print_propstats
 
size_t _dirty_page_count
 
std::ofstream _propstats_ofs
 

Additional Inherited Members

- Protected Member Functions inherited from worker_thread_t
bool should_exit () const
 
void notify_one ()
 
void notify_all ()
 
void quit ()
 

Constructor & Destructor Documentation

§ chkpt_m()

chkpt_m::chkpt_m ( const sm_options options,
chkpt_t chkpt_info = nullptr 
)

chkpt_info is obtained via log analysis

§ ~chkpt_m()

chkpt_m::~chkpt_m ( )
virtual

Member Function Documentation

§ _acquire_lock()

void chkpt_m::_acquire_lock ( logrec_t r,
chkpt_t new_chkpt 
)
private

§ do_work()

void chkpt_m::do_work ( )
virtual

Actual working method to be implemented by derived classes.

Implements worker_thread_t.

§ get_min_active_lsn()

lsn_t chkpt_m::get_min_active_lsn ( )
inline

§ get_min_rec_lsn()

lsn_t chkpt_m::get_min_rec_lsn ( )
inline

§ get_min_xct_lsn()

lsn_t chkpt_m::get_min_xct_lsn ( )
inline

§ take()

void chkpt_m::take ( chkpt_t chkpt = nullptr)

Member Data Documentation

§ _chkpt_count

long chkpt_m::_chkpt_count
private

§ _dirty_page_count

size_t chkpt_m::_dirty_page_count
private

§ _last_end_lsn

lsn_t chkpt_m::_last_end_lsn
private

§ _log_based

bool chkpt_m::_log_based
private

§ _min_rec_lsn

lsn_t chkpt_m::_min_rec_lsn
private

§ _min_xct_lsn

lsn_t chkpt_m::_min_xct_lsn
private

§ _print_propstats

bool chkpt_m::_print_propstats
private

§ _propstats_ofs

std::ofstream chkpt_m::_propstats_ofs
private

§ _use_log_archive

bool chkpt_m::_use_log_archive
private

§ chkpt_mutex

std::mutex chkpt_m::chkpt_mutex
private

§ curr_chkpt

chkpt_t chkpt_m::curr_chkpt
private

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