pub struct RetainedCandidates {
pub referenced: u64,
pub within_grace_window: u64,
pub no_provider_timestamp: u64,
pub no_reference_manifest: u64,
pub degraded_roots: u64,
pub unrecognized_key: u64,
pub checkpoint_not_releasable: u64,
pub upload_session_window: u64,
pub upload_session_undecided: u64,
pub content_scan_deferred: u64,
}Expand description
Candidates inspected but not deleted by one GC pass.
Every field is present, including zero counts. The fields sum to
retained_candidates in GcResponse.
An object inspected by multiple passes is counted once per pass.
Fields§
§referenced: u64Candidates found reachable during the final check before deletion.
within_grace_window: u64Unreachable, but younger than the grace window by the object’s own provider timestamp. A later pass deletes it.
no_provider_timestamp: u64Unreachable candidates with no provider timestamp. Their age is unknown, so the pass keeps them.
no_reference_manifest: u64Unreachable candidates that cannot be checked against a manifest old enough to cover the grace window.
degraded_roots: u64Candidates kept because root resolution failed. The response also
sets retention_degraded.
unrecognized_key: u64Unrecognized keys in a family scanned by GC. These keys are never deleted.
checkpoint_not_releasable: u64Checkpoint records that could not be safely released or deleted.
upload_session_window: u64Upload sessions still protected by a lease or grace window.
upload_session_undecided: u64Upload sessions kept because the pass could not determine whether they were safe to delete.
content_scan_deferred: u64Completed sessions skipped because the reference scan exceeded
max_objects. The response also sets content_reclamation_deferred.
Implementations§
Source§impl RetainedCandidates
impl RetainedCandidates
Sourcepub fn by_reason(&self) -> [(&'static str, u64); 10]
pub fn by_reason(&self) -> [(&'static str, u64); 10]
Returns every reason and count in a fixed order.
Sourcepub fn top_reason(&self) -> Option<(&'static str, u64)>
pub fn top_reason(&self) -> Option<(&'static str, u64)>
The reason with the highest count, and that count. None when
nothing was retained. Ties go to the first in Self::by_reason
order, so one pass’s report is stable.
Trait Implementations§
Source§impl Clone for RetainedCandidates
impl Clone for RetainedCandidates
Source§fn clone(&self) -> RetainedCandidates
fn clone(&self) -> RetainedCandidates
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more