Represents a checkpoint record in the index build process.
The checkpoint record can be marked as in-valid to indicate that the exising intermediate data should be discarded.
This can happen because of a crash or an unexpected shutdown during the in-memory index build.
A naive implementation of the CheckpointRecordManagerTrait
.. that always returns the default checkpoint record.
This implementation is used for keeping the backward compatibility
.. with the previous version of DiskANN for both DiskIndex and InMemoryIndex.
This trait provides functionalities to get and set checkpoint records
..for tracking the progress and state in a chunkable index build process.
it needs to be marked as send and sync because it will be used in a multi-threaded environment.
However, during the index build process DiskANN will not have parallel requests trying to access the checkpoint record.