|
The Sparta Modeling Framework
|
Single checkpoint object interface with a tick number and an ID unique to the owning Checkpointer instance. More...
#include <CheckpointBase.hpp>

Public Types | |
Local Types | |
| typedef sparta::Scheduler::Tick | tick_t |
| tick_t Tick type to which checkpoints will refer | |
| typedef uint64_t | chkpt_id_t |
| tick_t Checkpoint ID type to which checkpoints will refer | |
Public Member Functions | |
Checkpoint Actions | |
| virtual void | load (const std::vector< ArchData * > &dats)=0 |
| Attempts to restore this checkpoint state to the simulation state (ArchData) objects given to this Checkpoint at construction. | |
| tick_t | getTick () const noexcept |
| Returns the tick number at which this checkpoint was taken. | |
| chkpt_id_t | getID () const noexcept |
| Returns the ID of this checkpoint. | |
| virtual chkpt_id_t | getPrevID () const =0 |
| Get the ID of our previous checkpoint. Returns UNIDENTIFIED_CHECKPOINT only for the head checkpoint. | |
| virtual std::vector< chkpt_id_t > | getNextIDs () const =0 |
| Returns next checkpoint following *this. May be an empty vector if there are no later checkpoints. | |
| virtual std::string | getDeletedRepr () const |
| Gets the representation of this deleted checkpoint as part of a checkpoint chain (if that checkpointer supports deletion) | |
Static Public Attributes | |
| static const chkpt_id_t | MIN_CHECKPOINT = 0 |
| Indicates the smallest valid checkpoint id. | |
| static const chkpt_id_t | UNIDENTIFIED_CHECKPOINT = ~(chkpt_id_t)0 |
| Indicates unidentified checkpoint (could mean 'invalid' or 'any') depending on context. | |
Protected Member Functions | |
| void | setID_ (chkpt_id_t id) |
| Sets the checkpoint ID. | |
Construction & Initialization | |
| CheckpointBase (const CheckpointBase &)=delete | |
| Not copy constructable. | |
| CheckpointBase & | operator= (const CheckpointBase &)=delete |
| Non-assignable. | |
| CheckpointBase (CheckpointBase &&)=delete | |
| Not move constructable. | |
| CheckpointBase & | operator= (CheckpointBase &&)=delete |
| Not move assignable. | |
| virtual | ~CheckpointBase ()=default |
| Destructor. | |
| template<typename Archive > | |
| void | serialize (Archive &ar, const unsigned int) |
| boost::serialization support | |
| virtual std::string | stringize () const |
| Returns a string describing this object. | |
| virtual void | dumpData (std::ostream &o) const =0 |
| Writes all checkpoint raw data to an ostream. | |
| virtual uint64_t | getTotalMemoryUse () const noexcept=0 |
| Returns memory usage by this checkpoint including any framework data structures. | |
| virtual uint64_t | getContentMemoryUse () const noexcept=0 |
| Returns memory usage by this checkpoint solely for the checkpointed content. | |
| CheckpointBase (chkpt_id_t id, tick_t tick) | |
Single checkpoint object interface with a tick number and an ID unique to the owning Checkpointer instance.
A subclass of Checkpointer is expected to hold or refer to some checkpoint data in memory or on disk at construction which can be restored with load()
Definition at line 25 of file CheckpointBase.hpp.
tick_t Checkpoint ID type to which checkpoints will refer
Definition at line 37 of file CheckpointBase.hpp.
tick_t Tick type to which checkpoints will refer
Definition at line 34 of file CheckpointBase.hpp.
|
inlineprotected |
Definition at line 75 of file CheckpointBase.hpp.
|
pure virtual |
Writes all checkpoint raw data to an ostream.
| o | ostream to which raw data will be written |
Implemented in sparta::serialization::checkpoint::DatabaseCheckpoint, and sparta::serialization::checkpoint::DeltaCheckpoint< StorageT >.
|
pure virtualnoexcept |
Returns memory usage by this checkpoint solely for the checkpointed content.
Implemented in sparta::serialization::checkpoint::DatabaseCheckpoint, and sparta::serialization::checkpoint::DeltaCheckpoint< StorageT >.
|
inlinevirtual |
Gets the representation of this deleted checkpoint as part of a checkpoint chain (if that checkpointer supports deletion)
Reimplemented in sparta::serialization::checkpoint::DeltaCheckpoint< StorageT >.
Definition at line 166 of file CheckpointBase.hpp.
|
inlinenoexcept |
Returns the ID of this checkpoint.
Definition at line 148 of file CheckpointBase.hpp.
|
pure virtual |
Returns next checkpoint following *this. May be an empty vector if there are no later checkpoints.
Implemented in sparta::serialization::checkpoint::Checkpoint, sparta::serialization::checkpoint::DatabaseCheckpoint, and sparta::serialization::checkpoint::DeltaCheckpoint< StorageT >.
|
pure virtual |
Get the ID of our previous checkpoint. Returns UNIDENTIFIED_CHECKPOINT only for the head checkpoint.
Implemented in sparta::serialization::checkpoint::Checkpoint, sparta::serialization::checkpoint::DatabaseCheckpoint, and sparta::serialization::checkpoint::DeltaCheckpoint< StorageT >.
|
inlinenoexcept |
Returns the tick number at which this checkpoint was taken.
Definition at line 141 of file CheckpointBase.hpp.
|
pure virtualnoexcept |
Returns memory usage by this checkpoint including any framework data structures.
Implemented in sparta::serialization::checkpoint::DatabaseCheckpoint, and sparta::serialization::checkpoint::DeltaCheckpoint< StorageT >.
|
pure virtual |
Attempts to restore this checkpoint state to the simulation state (ArchData) objects given to this Checkpoint at construction.
Implemented in sparta::serialization::checkpoint::DatabaseCheckpoint, and sparta::serialization::checkpoint::DeltaCheckpoint< StorageT >.
|
inline |
boost::serialization support
Definition at line 93 of file CheckpointBase.hpp.
|
inlineprotected |
Sets the checkpoint ID.
Definition at line 177 of file CheckpointBase.hpp.
|
inlinevirtual |
Returns a string describing this object.
Reimplemented in sparta::serialization::checkpoint::DatabaseCheckpoint, and sparta::serialization::checkpoint::DeltaCheckpoint< StorageT >.
Definition at line 101 of file CheckpointBase.hpp.

|
static |
Indicates the smallest valid checkpoint id.
Definition at line 45 of file CheckpointBase.hpp.
|
static |
Indicates unidentified checkpoint (could mean 'invalid' or 'any') depending on context.
Definition at line 51 of file CheckpointBase.hpp.