Loading...
Searching...
No Matches
resdb::Recovery Class Reference

#include <recovery.h>

Public Member Functions

 Recovery (const ResDBConfig &config, CheckPoint *checkpoint, SystemInfo *system_info, Storage *storage)
 
virtual ~Recovery ()
 
void Init ()
 
virtual void AddRequest (const Context *context, const Request *request)
 
void ReadLogs (std::function< void(const SystemInfoData &data)> system_callback, std::function< void(std::unique_ptr< Context > context, std::unique_ptr< Request > request)> call_back)
 
int64_t GetMaxSeq ()
 
int64_t GetMinSeq ()
 

Protected Attributes

ResDBConfig config_
 
CheckPoint * checkpoint_
 
std::thread ckpt_thread_
 
bool recovery_enabled_ = false
 
std::string buffer_
 
std::string file_path_
 
std::string base_file_path_
 
size_t buffer_size_ = 0
 
int fd_
 
std::mutex mutex_
 
int64_t last_ckpt_
 
int64_t min_seq_
 
int64_t max_seq_
 
std::mutex ckpt_mutex_
 
std::atomic< bool > stop_
 
int recovery_ckpt_time_s_
 
SystemInfo * system_info_
 
Storage * storage_
 

Detailed Description

Definition at line 34 of file recovery.h.

Constructor & Destructor Documentation

◆ Recovery()

resdb::Recovery::Recovery ( const ResDBConfig &  config,
CheckPoint *  checkpoint,
SystemInfo *  system_info,
Storage *  storage 
)

Definition at line 34 of file recovery.cpp.

◆ ~Recovery()

resdb::Recovery::~Recovery ( )
virtual

Definition at line 89 of file recovery.cpp.

Member Function Documentation

◆ AddRequest()

void resdb::Recovery::AddRequest ( const Context *  context,
const Request *  request 
)
virtual

Definition at line 248 of file recovery.cpp.

◆ GetMaxSeq()

int64_t resdb::Recovery::GetMaxSeq ( )

Definition at line 101 of file recovery.cpp.

◆ GetMinSeq()

int64_t resdb::Recovery::GetMinSeq ( )

Definition at line 103 of file recovery.cpp.

◆ Init()

void resdb::Recovery::Init ( )

Definition at line 82 of file recovery.cpp.

◆ ReadLogs()

void resdb::Recovery::ReadLogs ( std::function< void(const SystemInfoData &data)>  system_callback,
std::function< void(std::unique_ptr< Context > context, std::unique_ptr< Request > request)>  call_back 
)

Definition at line 436 of file recovery.cpp.

Member Data Documentation

◆ base_file_path_

std::string resdb::Recovery::base_file_path_
protected

Definition at line 92 of file recovery.h.

◆ buffer_

std::string resdb::Recovery::buffer_
protected

Definition at line 91 of file recovery.h.

◆ buffer_size_

size_t resdb::Recovery::buffer_size_ = 0
protected

Definition at line 93 of file recovery.h.

◆ checkpoint_

CheckPoint* resdb::Recovery::checkpoint_
protected

Definition at line 88 of file recovery.h.

◆ ckpt_mutex_

std::mutex resdb::Recovery::ckpt_mutex_
protected

Definition at line 99 of file recovery.h.

◆ ckpt_thread_

std::thread resdb::Recovery::ckpt_thread_
protected

Definition at line 89 of file recovery.h.

◆ config_

ResDBConfig resdb::Recovery::config_
protected

Definition at line 87 of file recovery.h.

◆ fd_

int resdb::Recovery::fd_
protected

Definition at line 94 of file recovery.h.

◆ file_path_

std::string resdb::Recovery::file_path_
protected

Definition at line 92 of file recovery.h.

◆ last_ckpt_

int64_t resdb::Recovery::last_ckpt_
protected

Definition at line 97 of file recovery.h.

◆ max_seq_

int64_t resdb::Recovery::max_seq_
protected

Definition at line 98 of file recovery.h.

◆ min_seq_

int64_t resdb::Recovery::min_seq_
protected

Definition at line 98 of file recovery.h.

◆ mutex_

std::mutex resdb::Recovery::mutex_
protected

Definition at line 95 of file recovery.h.

◆ recovery_ckpt_time_s_

int resdb::Recovery::recovery_ckpt_time_s_
protected

Definition at line 101 of file recovery.h.

◆ recovery_enabled_

bool resdb::Recovery::recovery_enabled_ = false
protected

Definition at line 90 of file recovery.h.

◆ stop_

std::atomic<bool> resdb::Recovery::stop_
protected

Definition at line 100 of file recovery.h.

◆ storage_

Storage* resdb::Recovery::storage_
protected

Definition at line 103 of file recovery.h.

◆ system_info_

SystemInfo* resdb::Recovery::system_info_
protected

Definition at line 102 of file recovery.h.