libfoedus-core
FOEDUS Core Library
|
Represents one snapshot that converts all logs from base epoch to valid_until epoch into snapshot file(s). More...
Represents one snapshot that converts all logs from base epoch to valid_until epoch into snapshot file(s).
This is POD and no heap-allocated data, so it can be directly placed in shared memory.
Definition at line 37 of file snapshot.hpp.
#include <snapshot.hpp>
Public Member Functions | |
void | clear () |
Public Attributes | |
SnapshotId | id_ |
Unique ID of this snapshot. More... | |
Epoch | base_epoch_ |
This snapshot was taken on top of previous snapshot that is valid_until this epoch. More... | |
Epoch | valid_until_epoch_ |
This snapshot contains all the logs until this epoch. More... | |
storage::StorageId | max_storage_id_ |
Largest storage ID as of starting to take the snapshot. More... | |
Friends | |
std::ostream & | operator<< (std::ostream &o, const Snapshot &v) |
|
inline |
Definition at line 61 of file snapshot.hpp.
References foedus::INVALID_EPOCH.
Referenced by foedus::snapshot::LogGleanerControlBlock::clear_counts().
|
friend |
Definition at line 24 of file snapshot.cpp.
Epoch foedus::snapshot::Snapshot::base_epoch_ |
This snapshot was taken on top of previous snapshot that is valid_until this epoch.
If this is the first snapshot, this is an invalid epoch.
Definition at line 49 of file snapshot.hpp.
Referenced by foedus::snapshot::LogGleanerRef::get_base_epoch(), foedus::snapshot::SnapshotManagerPimpl::handle_snapshot_triggered(), foedus::snapshot::operator<<(), foedus::snapshot::SnapshotManagerPimpl::snapshot_metadata(), and foedus::snapshot::LogReducerRef::verify_log_chunk().
SnapshotId foedus::snapshot::Snapshot::id_ |
Unique ID of this snapshot.
Definition at line 43 of file snapshot.hpp.
Referenced by foedus::snapshot::LogGleanerRef::get_snapshot_id(), foedus::snapshot::SnapshotManagerPimpl::handle_snapshot_child(), foedus::snapshot::SnapshotManagerPimpl::handle_snapshot_triggered(), foedus::snapshot::operator<<(), foedus::snapshot::SnapshotManagerPimpl::snapshot_metadata(), foedus::snapshot::SnapshotManagerPimpl::snapshot_savepoint(), and foedus::snapshot::LogReducerRef::verify_log_chunk().
storage::StorageId foedus::snapshot::Snapshot::max_storage_id_ |
Largest storage ID as of starting to take the snapshot.
Definition at line 58 of file snapshot.hpp.
Referenced by foedus::snapshot::SnapshotManagerPimpl::drop_volatile_pages(), foedus::snapshot::SnapshotManagerPimpl::drop_volatile_pages_parallel(), foedus::snapshot::SnapshotManagerPimpl::handle_snapshot_triggered(), foedus::snapshot::operator<<(), foedus::snapshot::SnapshotManagerPimpl::snapshot_metadata(), and foedus::snapshot::LogReducerRef::verify_log_chunk().
Epoch foedus::snapshot::Snapshot::valid_until_epoch_ |
This snapshot contains all the logs until this epoch.
Definition at line 55 of file snapshot.hpp.
Referenced by foedus::storage::array::ArrayComposer::drop_root_volatile(), foedus::snapshot::SnapshotManagerPimpl::drop_volatile_pages(), foedus::snapshot::SnapshotManagerPimpl::drop_volatile_pages_parallel(), foedus::storage::sequential::SequentialComposer::drop_volatiles(), foedus::storage::Composer::DropResult::DropResult(), foedus::snapshot::LogGleanerRef::get_valid_until_epoch(), foedus::snapshot::SnapshotManagerPimpl::handle_snapshot_triggered(), foedus::snapshot::operator<<(), foedus::snapshot::SnapshotManagerPimpl::snapshot_metadata(), foedus::snapshot::SnapshotManagerPimpl::snapshot_savepoint(), and foedus::snapshot::LogReducerRef::verify_log_chunk().