com.r3corda.node.services.api / CheckpointStorage

# CheckpointStorage

`interface CheckpointStorage`

Thread-safe storage of fiber checkpoints.

### Functions

addCheckpoint | `abstract fun addCheckpoint(checkpoint: Checkpoint): Unit` Add a new checkpoint to the store.
forEach | `abstract fun forEach(block: (Checkpoint) -> Boolean): Unit` Allows the caller to process safely in a thread safe fashion the set of all checkpoints. The checkpoints are only valid during the lifetime of a single call to the block, to allow memory management. Return false from the block to terminate further iteration.
removeCheckpoint | `abstract fun removeCheckpoint(checkpoint: Checkpoint): Unit` Remove existing checkpoint from the store. It is an error to attempt to remove a checkpoint which doesnt exist in the store. Doing so will throw an IllegalArgumentException.

### Inheritors

DBCheckpointStorage | `class DBCheckpointStorage : CheckpointStorage` Simple checkpoint key value storage in DB using the underlying JDBCHashMap and transactional context of the call sites.
PerFileCheckpointStorage | `class PerFileCheckpointStorage : CheckpointStorage` File-based checkpoint storage, storing checkpoints per file.