|
Zero
0.1.0
|
Coordinator that synchronizes multi-threaded decentralized restore. More...
#include <restore.h>
Public Member Functions | |
| RestoreCoordinator (size_t segSize, size_t segCount, RestoreFunctor f, bool virgin_pages, bool on_demand=true, bool start_locked=false) | |
| void | set_lsns (lsn_t begin, lsn_t end) |
| void | fetch (PageID pid) |
| bool | tryBackgroundRestore (bool &done) |
| bool | isPidRestored (PageID pid) const |
| bool | allDone () const |
| void | start () |
Private Types | |
| using | Ticket = std::shared_ptr< std::condition_variable > |
Private Member Functions | |
| Ticket | getWaitingTicket (unsigned segment) |
| void | doRestore (unsigned segment_begin, unsigned segment_end, Ticket ticket) |
Private Attributes | |
| const size_t | _segment_size |
| std::mutex | _mutex |
| std::unordered_map< unsigned, Ticket > | _waiting_table |
| std::unique_ptr< RestoreBitmap > | _bitmap |
| RestoreFunctor | _restoreFunctor |
| const bool | _virgin_pages |
| const bool | _on_demand |
| const bool | _start_locked |
| lsn_t | _begin_lsn |
| lsn_t | _end_lsn |
Static Private Attributes | |
| static constexpr size_t | MaxRestorePages = 1024 |
Coordinator that synchronizes multi-threaded decentralized restore.
|
private |
|
inline |
|
inline |
|
inlineprivate |
|
inline |
|
inlineprivate |
|
inline |
|
inline |
|
inline |
|
inline |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
staticprivate |
1.8.12