Struct tantivy::directory::MmapDirectory [−][src]
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.
Implementations
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 Clone for MmapDirectory
[src]
fn clone(&self) -> MmapDirectory
[src]
pub fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl Debug for MmapDirectory
[src]
impl Directory for MmapDirectory
[src]
fn get_file_handle(
&self,
path: &Path
) -> Result<Box<dyn FileHandle>, OpenReadError>
[src]
&self,
path: &Path
) -> Result<Box<dyn FileHandle>, OpenReadError>
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) -> Result<bool, OpenReadError>
[src]
fn open_write(&self, path: &Path) -> Result<WritePtr, OpenWriteError>
[src]
fn atomic_read(&self, path: &Path) -> Result<Vec<u8>, OpenReadError>
[src]
fn atomic_write(&self, path: &Path, content: &[u8]) -> Result<()>
[src]
fn acquire_lock(&self, lock: &Lock) -> Result<DirectoryLock, LockError>
[src]
fn watch(&self, watch_callback: WatchCallback) -> Result<WatchHandle>
[src]
fn open_read(&self, path: &Path) -> Result<FileSlice, OpenReadError>
[src]
Auto Trait Implementations
impl RefUnwindSafe for MmapDirectory
[src]
impl Send for MmapDirectory
[src]
impl Sync for MmapDirectory
[src]
impl Unpin for MmapDirectory
[src]
impl UnwindSafe for MmapDirectory
[src]
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Downcast for T where
T: Any,
[src]
T: Any,
pub fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
[src]
pub fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
[src]
pub fn as_any(&self) -> &(dyn Any + 'static)
[src]
pub 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,
impl<T> From<T> for T
[src]
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> Pointable for T
pub const ALIGN: usize
type Init = T
The type for initializers.
pub unsafe fn init(init: <T as Pointable>::Init) -> usize
pub unsafe fn deref<'a>(ptr: usize) -> &'a T
pub unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T
pub unsafe fn drop(ptr: usize)
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub 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.
pub 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.
pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,