pub struct IndexStore { /* private fields */ }Expand description
The stored indexes of one database.
Implementations§
Source§impl IndexStore
impl IndexStore
Sourcepub fn new(dir: PathBuf, writable: bool, database: String, limit: u64) -> Self
pub fn new(dir: PathBuf, writable: bool, database: String, limit: u64) -> Self
The store in dir, of the database database (as notices name it),
keeping at most limit bytes. A writable store creates dir on its
first write.
pub fn dir(&self) -> &Path
pub fn is_writable(&self) -> bool
Sourcepub fn set_limit(&self, limit: u64)
pub fn set_limit(&self, limit: u64)
Keep at most limit bytes from now on: the next index stored makes
room within it. Nothing is evicted now.
Sourcepub fn load(
&self,
key: &IndexKey,
notifier: &Notifier,
) -> Option<(Arc<GraphIndex>, u64)>
pub fn load( &self, key: &IndexKey, notifier: &Notifier, ) -> Option<(Arc<GraphIndex>, u64)>
The stored index for key, if there is one whose full key matches
and whose file reads back whole, and the size of its file. Blocking:
it reads the file.
Sourcepub fn save(
self: &Arc<Self>,
key: IndexKey,
index: Arc<GraphIndex>,
graph: &str,
notifier: &Notifier,
) -> Saved
pub fn save( self: &Arc<Self>, key: IndexKey, index: Arc<GraphIndex>, graph: &str, notifier: &Notifier, ) -> Saved
Decide whether to store index, built for the graph graph, under
key (see the module docs), evict what that takes, and start the
write on a background thread. Evictions and a failed write are said
with notifier; what was decided is returned for the caller to say.
Trait Implementations§
Source§impl Debug for IndexStore
impl Debug for IndexStore
Source§impl Drop for IndexStore
impl Drop for IndexStore
Auto Trait Implementations§
impl !Freeze for IndexStore
impl Forget for IndexStore
impl RefUnwindSafe for IndexStore
impl Send for IndexStore
impl Sync for IndexStore
impl Unpin for IndexStore
impl UnsafeUnpin for IndexStore
impl UnwindSafe for IndexStore
Blanket Implementations§
impl<T> Allocation for T
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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 more