Struct tantivy::directory::RamDirectory
source · pub struct RamDirectory { /* private fields */ }
Expand description
A Directory storing everything in anonymous memory.
It is mainly meant for unit testing. Writes are only made visible upon flushing.
Implementations§
source§impl RamDirectory
impl RamDirectory
sourcepub fn create() -> RamDirectory
pub fn create() -> RamDirectory
Constructor
sourcepub fn deep_clone(&self) -> RamDirectory
pub fn deep_clone(&self) -> RamDirectory
Deep clones the directory.
Ulterior writes on one of the copy will not affect the other copy.
sourcepub fn total_mem_usage(&self) -> usize
pub fn total_mem_usage(&self) -> usize
Returns the sum of the size of the different files
in the RamDirectory
.
sourcepub fn persist(&self, dest: &dyn Directory) -> Result<()>
pub fn persist(&self, dest: &dyn Directory) -> Result<()>
Write a copy of all of the files saved in the RamDirectory
in the target Directory
.
Files are all written using the Directory::open_write()
meaning, even if they were
written using the Directory::atomic_write()
api.
If an error is encountered, files may be persisted partially.
Trait Implementations§
source§impl Clone for RamDirectory
impl Clone for RamDirectory
source§fn clone(&self) -> RamDirectory
fn clone(&self) -> RamDirectory
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl Debug for RamDirectory
impl Debug for RamDirectory
source§impl Default for RamDirectory
impl Default for RamDirectory
source§fn default() -> RamDirectory
fn default() -> RamDirectory
Returns the “default value” for a type. Read more
source§impl Directory for RamDirectory
impl Directory for RamDirectory
source§fn get_file_handle(
&self,
path: &Path
) -> Result<Arc<dyn FileHandle>, OpenReadError>
fn get_file_handle( &self, path: &Path ) -> Result<Arc<dyn FileHandle>, OpenReadError>
Opens a file and returns a boxed
FileHandle
. Read moresource§fn open_read(&self, path: &Path) -> Result<FileSlice, OpenReadError>
fn open_read(&self, path: &Path) -> Result<FileSlice, OpenReadError>
Once a virtual file is open, its data may not
change. Read more
source§fn exists(&self, path: &Path) -> Result<bool, OpenReadError>
fn exists(&self, path: &Path) -> Result<bool, OpenReadError>
Returns true if and only if the file exists
source§fn open_write(&self, path: &Path) -> Result<WritePtr, OpenWriteError>
fn open_write(&self, path: &Path) -> Result<WritePtr, OpenWriteError>
source§fn atomic_read(&self, path: &Path) -> Result<Vec<u8>, OpenReadError>
fn atomic_read(&self, path: &Path) -> Result<Vec<u8>, OpenReadError>
Reads the full content file that has been written using
Directory::atomic_write()
. Read moresource§fn atomic_write(&self, path: &Path, data: &[u8]) -> Result<()>
fn atomic_write(&self, path: &Path, data: &[u8]) -> Result<()>
Atomically replace the content of a file with data. Read more
source§fn watch(&self, watch_callback: WatchCallback) -> Result<WatchHandle>
fn watch(&self, watch_callback: WatchCallback) -> Result<WatchHandle>
Registers a callback that will be called whenever a change on the
meta.json
using the Directory::atomic_write()
API is detected. Read moresource§fn acquire_lock(&self, lock: &Lock) -> Result<DirectoryLock, LockError>
fn acquire_lock(&self, lock: &Lock) -> Result<DirectoryLock, LockError>
Auto Trait Implementations§
impl Freeze for RamDirectory
impl RefUnwindSafe for RamDirectory
impl Send for RamDirectory
impl Sync for RamDirectory
impl Unpin for RamDirectory
impl UnwindSafe for RamDirectory
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
source§impl<T> DirectoryClone for T
impl<T> DirectoryClone for T
source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
.source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.