Skip to main content

IndexStore

Struct IndexStore 

Source
pub struct IndexStore { /* private fields */ }
Expand description

Index lifecycle orchestrator backed by a [SnapshotStore] for atomic persistence and StoreMeta for corpus configuration.

Implementations§

Source§

impl IndexStore

Source

pub fn open(sift_dir: &Path) -> Result<Self>

Open an existing store at sift_dir.

§Errors

Returns an error if CURRENT exists but cannot be read.

Source

pub fn open_or_create( sift_dir: &Path, root: &Path, corpus_kind: CorpusKind, follow_links: bool, indexes: &[IndexKind], ) -> Result<Self>

Open an existing store or create a new one at sift_dir.

§Errors

Returns an error if the store directory cannot be created or metadata cannot be written.

Source

pub fn current_id(&self) -> Option<&str>

Source

pub fn snapshot_dir(&self, id: &str) -> PathBuf

Source

pub fn build( &mut self, kinds: &[IndexKind], config: &IndexConfig<'_>, ) -> Result<String>

Build a new snapshot using the given index kinds.

Returns the snapshot id.

§Errors

Returns an error if the index build fails, the manifest cannot be written, or snapshot commit fails.

Source

pub fn update( &mut self, kinds: &[IndexKind], config: &IndexConfig<'_>, ) -> Result<Option<String>>

Update the current snapshot, rebuilding only indexes whose corpus changed.

Returns the snapshot id if a new snapshot was published, or None if no index changed.

§Errors

Returns an error if the current snapshot cannot be opened, the update check fails, or publishing the new snapshot fails.

Source

pub fn open_current(&self) -> Result<Vec<Index>>

Open all indexes in the current snapshot.

Returns an empty vector if no snapshot exists.

§Errors

Returns an error if the manifest is malformed or an index kind is unknown.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.