[−][src]Struct tantivy::directory::MmapDirectory
Directory storing data in files, read via mmap.
The Mmap object are cached to limit the system calls.
In the MmapDirectory
, locks are implemented using the fs2
crate definition of locks.
On MacOS & linux, it relies on flock
(aka BSD Lock
). These locks solve most of the
problems related to POSIX Locks, but may their contract may not be respected on NFS
depending on the implementation.
On Windows the semantics are again different.
Methods
impl MmapDirectory
[src]
pub fn create_from_tempdir() -> Result<MmapDirectory, OpenDirectoryError>
[src]
Creates a new MmapDirectory in a temporary directory.
This is mostly useful to test the MmapDirectory itself. For your unit tests, prefer the RAMDirectory.
pub fn open<P: AsRef<Path>>(
directory_path: P
) -> Result<MmapDirectory, OpenDirectoryError>
[src]
directory_path: P
) -> Result<MmapDirectory, OpenDirectoryError>
Opens a MmapDirectory in a directory.
Returns an error if the directory_path
does not
exist or if it is not a directory.
pub fn get_cache_info(&self) -> CacheInfo
[src]
Returns some statistical information about the Mmap cache.
The MmapDirectory
embeds a MmapDirectory
to avoid multiplying the mmap
system calls.
Trait Implementations
impl Directory for MmapDirectory
[src]
fn open_read(&self, path: &Path) -> Result<ReadOnlySource, OpenReadError>
[src]
fn delete(&self, path: &Path) -> Result<(), DeleteError>
[src]
Any entry associated to the path in the mmap will be removed before the file is deleted.
fn exists(&self, path: &Path) -> bool
[src]
fn open_write(&mut self, path: &Path) -> Result<WritePtr, OpenWriteError>
[src]
fn atomic_read(&self, path: &Path) -> Result<Vec<u8>, OpenReadError>
[src]
fn atomic_write(&mut self, path: &Path, data: &[u8]) -> Result<()>
[src]
fn acquire_lock(&self, lock: &Lock) -> Result<DirectoryLock, LockError>
[src]
fn watch(&self, watch_callback: WatchCallback) -> Result<WatchHandle>
[src]
impl Clone for MmapDirectory
[src]
fn clone(&self) -> MmapDirectory
[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl Debug for MmapDirectory
[src]
Auto Trait Implementations
impl Send for MmapDirectory
impl Sync for MmapDirectory
impl Unpin for MmapDirectory
impl UnwindSafe for MmapDirectory
impl RefUnwindSafe for MmapDirectory
Blanket Implementations
impl<T> Fruit for T where
T: Send + Downcast,
[src]
T: Send + Downcast,
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> From<T> for T
[src]
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Erased for T
[src]
impl<T> Downcast for T where
T: Any,
[src]
T: Any,
fn into_any(self: Box<T>) -> Box<dyn Any + 'static>
[src]
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
[src]
fn as_any(&self) -> &(dyn Any + 'static)
[src]
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
[src]
impl<T> DowncastSync for T where
T: Send + Sync + Any,
[src]
T: Send + Sync + Any,