pub struct CompactionManager { /* private fields */ }Expand description
Main compaction manager
Implementations§
Source§impl CompactionManager
impl CompactionManager
Sourcepub fn new(config: CompactionConfig) -> Result<Self>
pub fn new(config: CompactionConfig) -> Result<Self>
Create a new compaction manager
Sourcepub fn register_fragment(&self, vector_id: String, offset: usize, size: usize)
pub fn register_fragment(&self, vector_id: String, offset: usize, size: usize)
Register a vector fragment
Sourcepub fn mark_deleted(&self, vector_id: &str) -> Result<()>
pub fn mark_deleted(&self, vector_id: &str) -> Result<()>
Mark a vector as deleted (creates free fragment)
Sourcepub fn calculate_fragmentation(&self) -> f64
pub fn calculate_fragmentation(&self) -> f64
Calculate current fragmentation ratio
Sourcepub fn should_compact(&self) -> bool
pub fn should_compact(&self) -> bool
Check if compaction should be triggered
Sourcepub fn compact_now(&self) -> Result<CompactionResult>
pub fn compact_now(&self) -> Result<CompactionResult>
Trigger manual compaction
Sourcepub fn get_progress(&self) -> Option<CompactionProgress>
pub fn get_progress(&self) -> Option<CompactionProgress>
Get current progress
Sourcepub fn get_statistics(&self) -> CompactionStatistics
pub fn get_statistics(&self) -> CompactionStatistics
Get statistics
Sourcepub fn set_enabled(&self, enabled: bool)
pub fn set_enabled(&self, enabled: bool)
Enable/disable compaction
Sourcepub fn is_enabled(&self) -> bool
pub fn is_enabled(&self) -> bool
Check if compaction is enabled
Sourcepub fn get_metrics(&self) -> Arc<CompactionMetrics>
pub fn get_metrics(&self) -> Arc<CompactionMetrics>
Get metrics
Auto Trait Implementations§
impl Freeze for CompactionManager
impl !RefUnwindSafe for CompactionManager
impl Send for CompactionManager
impl Sync for CompactionManager
impl Unpin for CompactionManager
impl !UnwindSafe for CompactionManager
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
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.