From 002d30d55b949bf9a7023b0c3acc2bad184f07ad Mon Sep 17 00:00:00 2001 From: Lars Wirzenius Date: Fri, 28 Oct 2022 15:31:32 +0300 Subject: chore: drop IndexedStore, which wasn't used anywhere, anymore Sponsored-by: author --- src/indexedstore.rs | 77 ----------------------------------------------------- src/lib.rs | 1 - 2 files changed, 78 deletions(-) delete mode 100644 src/indexedstore.rs diff --git a/src/indexedstore.rs b/src/indexedstore.rs deleted file mode 100644 index 15b5a22..0000000 --- a/src/indexedstore.rs +++ /dev/null @@ -1,77 +0,0 @@ -//! An indexed, on-disk store for chunks on the server. - -use crate::chunk::{DataChunk, GenerationChunkError}; -use crate::chunkid::ChunkId; -use crate::chunkmeta::ChunkMeta; -use crate::index::{Index, IndexError}; -use crate::store::{Store, StoreError}; -use std::path::Path; - -/// A store for chunks and their metadata. -/// -/// This combines Store and Index into one interface to make it easier -/// to handle the server side storage of chunks. -pub struct IndexedStore { - store: Store, - index: Index, -} - -/// All the errors that may be returned for `IndexStore`. -#[derive(Debug, thiserror::Error)] -pub enum IndexedError { - /// An error from Index. - #[error(transparent)] - IndexError(#[from] IndexError), - - /// Error regarding generation chunks. - #[error(transparent)] - GenerationChunkError(#[from] GenerationChunkError), - - /// An error from Store. - #[error(transparent)] - SqlError(#[from] StoreError), -} - -impl IndexedStore { - /// Create a new indexed store. - pub fn new(dirname: &Path) -> Result { - let store = Store::new(dirname); - let index = Index::new(dirname)?; - Ok(Self { store, index }) - } - - /// Save a chunk in the store. - pub fn save(&mut self, chunk: &DataChunk) -> Result { - let id = ChunkId::new(); - self.store.save(&id, chunk)?; - self.insert_meta(&id, chunk.meta())?; - Ok(id) - } - - fn insert_meta(&mut self, id: &ChunkId, meta: &ChunkMeta) -> Result<(), IndexedError> { - self.index.insert_meta(id.clone(), meta.clone())?; - Ok(()) - } - - /// Get a chunk from the store, given its id. - pub fn load(&self, id: &ChunkId) -> Result<(DataChunk, ChunkMeta), IndexedError> { - Ok((self.store.load(id)?, self.load_meta(id)?)) - } - - /// Get a chunk's metadata form the store, given its id. - pub fn load_meta(&self, id: &ChunkId) -> Result { - Ok(self.index.get_meta(id)?) - } - - /// Find chunks with a client-assigned label. - pub fn find_by_label(&self, label: &str) -> Result, IndexedError> { - Ok(self.index.find_by_label(label)?) - } - - /// Remove a chunk from the store. - pub fn remove(&mut self, id: &ChunkId) -> Result<(), IndexedError> { - self.index.remove_meta(id)?; - self.store.delete(id)?; - Ok(()) - } -} diff --git a/src/lib.rs b/src/lib.rs index a54c5ff..8894966 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -28,7 +28,6 @@ pub mod generation; pub mod genlist; pub mod genmeta; pub mod index; -pub mod indexedstore; pub mod label; pub mod passwords; pub mod performance; -- cgit v1.2.1