pub struct GcReport {
pub dry_run: bool,
pub cutoff_ms: Option<i64>,
pub objects_removed: u64,
pub bytes_freed: u64,
pub actions_pruned: u64,
pub sessions_pruned: u64,
pub tmp_removed: u64,
pub over_cap_bytes_before: u64,
pub free_deficit_bytes_before: u64,
pub cap_evicted_actions: u64,
pub still_over_budget: bool,
}Fields§
§dry_run: bool§cutoff_ms: Option<i64>The journal-relative cutoff used (None = empty journal, no-op).
objects_removed: u64§bytes_freed: u64§actions_pruned: u64§sessions_pruned: u64§tmp_removed: u64§over_cap_bytes_before: u64Bytes over cap_bytes measured BEFORE eviction — identical in dry-run
and real mode (round-12 honesty: dry-run measures what real acts on).
free_deficit_bytes_before: u64Free-space shortfall below min_free_bytes measured before eviction.
cap_evicted_actions: u64Actions evicted by the size/free pass (always 0 in dry-run — eviction is iterative and only measured, never simulated).
still_over_budget: boolReal runs only: budgets still unmet after evicting everything evictable (pins + hot window are absolute floors). Surfaced so “bounded by pins” is a visible state, not silent failure.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for GcReport
impl RefUnwindSafe for GcReport
impl Send for GcReport
impl Sync for GcReport
impl Unpin for GcReport
impl UnsafeUnpin for GcReport
impl UnwindSafe for GcReport
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more