StorageBackend

Trait StorageBackend 

Source
pub trait StorageBackend: Send + Sync {
    // Required methods
    fn write_vector(
        &mut self,
        vector_id: &VectorId,
        vector: &[f32],
    ) -> DiskAnnResult<()>;
    fn read_vector(&self, vector_id: &VectorId) -> DiskAnnResult<Vec<f32>>;
    fn write_graph(&mut self, graph: &VamanaGraph) -> DiskAnnResult<()>;
    fn read_graph(&self) -> DiskAnnResult<VamanaGraph>;
    fn write_metadata(
        &mut self,
        metadata: &StorageMetadata,
    ) -> DiskAnnResult<()>;
    fn read_metadata(&self) -> DiskAnnResult<StorageMetadata>;
    fn clear(&mut self) -> DiskAnnResult<()>;
    fn flush(&mut self) -> DiskAnnResult<()>;
    fn size(&self) -> DiskAnnResult<u64>;
}
Expand description

Storage backend trait

Required Methods§

Source

fn write_vector( &mut self, vector_id: &VectorId, vector: &[f32], ) -> DiskAnnResult<()>

Write a vector to storage

Source

fn read_vector(&self, vector_id: &VectorId) -> DiskAnnResult<Vec<f32>>

Read a vector from storage

Source

fn write_graph(&mut self, graph: &VamanaGraph) -> DiskAnnResult<()>

Write graph structure

Source

fn read_graph(&self) -> DiskAnnResult<VamanaGraph>

Read graph structure

Source

fn write_metadata(&mut self, metadata: &StorageMetadata) -> DiskAnnResult<()>

Write metadata

Source

fn read_metadata(&self) -> DiskAnnResult<StorageMetadata>

Read metadata

Source

fn clear(&mut self) -> DiskAnnResult<()>

Delete all data

Source

fn flush(&mut self) -> DiskAnnResult<()>

Flush any pending writes

Source

fn size(&self) -> DiskAnnResult<u64>

Get storage size in bytes

Implementors§