18 #ifndef FOEDUS_SNAPSHOT_SNAPSHOT_MANAGER_HPP_
19 #define FOEDUS_SNAPSHOT_SNAPSHOT_MANAGER_HPP_
86 #endif // FOEDUS_SNAPSHOT_SNAPSHOT_MANAGER_HPP_
ErrorStack uninitialize() override
An idempotent method to release all resources of this object, if any.
SnapshotManagerPimpl * get_pimpl()
Do not use this unless you know what you are doing.
The pure-virtual interface to initialize/uninitialize non-trivial resources.
Typedefs of ID types used in snapshot package.
Root package of FOEDUS (Fast Optimistic Engine for Data Unification Services).
Forward declarations of classes in root package.
Brings error stacktrace information as return value of functions.
Forward declarations of classes in snapshot manager package.
ErrorStack read_snapshot_metadata(SnapshotId snapshot_id, SnapshotMetadata *out)
Read the snapshot metadata file that contains storages as of the snapshot.
Snapshot manager that atomically and durably writes out a snapshot file.
Epoch get_snapshot_epoch_weak() const
Non-atomic version.
void trigger_snapshot_immediate(bool wait_completion, Epoch suggested_snapshot_epoch=INVALID_EPOCH)
Immediately take a snapshot.
SnapshotId get_previous_snapshot_id_weak() const
Non-atomic version.
#define CXX11_FINAL
Used in public headers in place of "final" of C++11.
Database engine object that holds all resources and provides APIs.
uint16_t SnapshotId
Unique ID of Snapshot.
bool is_initialized() const override
Returns whether the object has been already initialized or not.
#define CXX11_OVERRIDE
Used in public headers in place of "override" of C++11.
#define CXX11_FUNC_DELETE
Used in public headers in place of " = delete" of C++11.
const Epoch INVALID_EPOCH
A constant epoch object that represents an invalid epoch.
SnapshotManager & operator=(const SnapshotManager &)=delete
SnapshotId get_previous_snapshot_id() const
Returns the most recent snapshot's ID.
ErrorStack initialize() override
Acquires resources in this object, usually called right after constructor.
Pimpl object of SnapshotManager.
Epoch get_snapshot_epoch() const
Returns the most recently snapshot-ed epoch, all logs upto this epoch is safe to delete.