pub struct CheckpointRecordState {
pub checkpoint_id: CheckpointId,
pub namespace_id: NamespaceId,
pub manifest: ManifestRef,
pub head_commit_id: CommitId,
pub created_at_ms: u64,
pub owner: CheckpointOwner,
pub status: CheckpointStatus,
}Expand description
A checkpoint record: pins one metadata manifest (its basis) so garbage collection keeps everything the manifest references.
Stored as its own object under checkpoints/; never part of a manifest
and never an input to latest visibility. Created write-then-verify: the
record is written active, then the basis manifest is re-verified
against the floor, and a failed verification flips the record to
released.
Fields§
§checkpoint_id: CheckpointIdFreshly generated record identity, one per logical pin. Nothing derives it, and no caller supplies it, so a new pin can never land on a released record’s key.
namespace_id: NamespaceIdSource namespace whose manifest and metadata remain pinned.
manifest: ManifestRefManifest pinned by this record. Its owner must be namespace_id.
head_commit_id: CommitIdCommit identity at the pinned manifest head, verified against its payload.
created_at_ms: u64Unix-millisecond creation stamp used by GC grace policy, never validity ordering.
owner: CheckpointOwnerParty and expiry policy that determine when this pin can be released.
status: CheckpointStatusCurrent status, advanced only by the one-way release compare-and-swap.
Trait Implementations§
Source§impl Clone for CheckpointRecordState
impl Clone for CheckpointRecordState
Source§fn clone(&self) -> CheckpointRecordState
fn clone(&self) -> CheckpointRecordState
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more