pub struct MultiLayerNodeManager { /* private fields */ }Expand description
Multi-layer node manager that orchestrates layer operations
Provides high-level interface for multi-layer HNSW functionality, coordinating between vector storage, layer management, and search operations. Wraps existing single-layer components to provide multi-layer capabilities.
§Key Responsibilities
- Coordinate insertions across multiple layers
- Manage bidirectional ID mappings
- Orchestrate multi-layer search operations
- Provide feature flag for safe migration
Implementations§
Source§impl MultiLayerNodeManager
impl MultiLayerNodeManager
Sourcepub fn new(config: HnswConfig) -> Result<Self, HnswError>
pub fn new(config: HnswConfig) -> Result<Self, HnswError>
Sourcepub fn insert_vector(
&mut self,
vector_id: u64,
) -> Result<(usize, Vec<(usize, u64)>), HnswError>
pub fn insert_vector( &mut self, vector_id: u64, ) -> Result<(usize, Vec<(usize, u64)>), HnswError>
Sourcepub fn get_layer_vectors(&self, layer_id: usize) -> Vec<u64>
pub fn get_layer_vectors(&self, layer_id: usize) -> Vec<u64>
Sourcepub fn get_vector_level(&self, vector_id: u64) -> Option<usize>
pub fn get_vector_level(&self, vector_id: u64) -> Option<usize>
Sourcepub fn get_statistics(&self) -> (usize, Vec<usize>, usize)
pub fn get_statistics(&self) -> (usize, Vec<usize>, usize)
Get statistics about layer distribution
§Returns
Tuple of (total_vectors, layer_counts, memory_usage)
Sourcepub fn validate_consistency(&self) -> Result<(), HnswError>
pub fn validate_consistency(&self) -> Result<(), HnswError>
Trait Implementations§
Auto Trait Implementations§
impl Freeze for MultiLayerNodeManager
impl RefUnwindSafe for MultiLayerNodeManager
impl Send for MultiLayerNodeManager
impl Sync for MultiLayerNodeManager
impl Unpin for MultiLayerNodeManager
impl UnwindSafe for MultiLayerNodeManager
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