Skip to main content

KeyValueDiskANNMaintenance

Struct KeyValueDiskANNMaintenance 

Source
pub struct KeyValueDiskANNMaintenance { /* private fields */ }
Expand description

Discover only generations visible at startup, without loading artifact payloads or building an identity directory. Each step checks one current generation and deletes at most 64 payload keys. New and earlier generations are reconsidered by the next pass. Errors preserve the current cursor and original physical attempt.

Implementations§

Source§

impl KeyValueDiskANNMaintenance

Source

pub fn start( store: &Arc<dyn KeyValueStore>, control: &StorageReadControl, ) -> StorageBackendResult<Self>

Source

pub fn step(&mut self) -> StorageBackendResult<Option<DiskANNMaintenanceStep>>

None completes this finite pass and releases its discovery snapshot. Retained generations do not prevent reaching later generations; incomplete deletion stays on its current generation.

Source

pub fn commit_pending(&self) -> StorageBackendResult<()>

Resolve the exact original attempt before resuming a failed step. No discovery or deletion callback is replayed by this operation.

Source

pub fn rollback_pending(&self) -> StorageBackendResult<()>

Source

pub fn run( store: &Arc<dyn KeyValueStore>, control: &StorageReadControl, ) -> StorageBackendResult<()>

Drain one finite pass for an existing storage-maintenance invocation. Every step keeps the same per-batch bound; dropping the pass releases discovery history before ordinary provider version reclamation.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.