pub struct CheckpointRecordState {
pub checkpoint_id: CheckpointId,
pub namespace_id: NamespaceId,
pub manifest_id: ManifestId,
pub manifest_object_id: ManifestObjectId,
pub manifest_head_seq: ChangeSeq,
pub manifest_payload_checksum: String,
pub head_commit_id: CommitId,
pub created_at_ms: u64,
pub expires_at_ms: Option<u64>,
pub owner: CheckpointOwner,
pub state: CheckpointRecordLifecycle,
}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_id: ManifestIdLogical manifest position of the pinned basis.
manifest_object_id: ManifestObjectIdImmutable manifest candidate selected at manifest_id.
manifest_head_seq: ChangeSeqGreatest source sequence materialized by the pinned manifest.
manifest_payload_checksum: StringMust equal payload_checksum in the referenced manifest envelope.
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.
expires_at_ms: Option<u64>When garbage collection may release this record without asking anyone.
A user pin carries the caller’s ttl_ms, or nothing at all, in which
case it is held until released. A fork-owned record always carries
one: it is the lease covering a single fork attempt, and its expiry
is how an abandoned attempt becomes collectable.
owner: CheckpointOwnerParty whose durable lifecycle determines when this pin can be released.
state: CheckpointRecordLifecycleCurrent lifecycle, 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