Struct tantivy::directory::MmapDirectory [−][src]
pub struct MmapDirectory { /* fields omitted */ }
Expand description
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
Creates a new MmapDirectory in a temporary directory.
This is mostly useful to test the MmapDirectory itself. For your unit tests, prefer the RamDirectory.
Opens a MmapDirectory in a directory.
Returns an error if the directory_path
does not
exist or if it is not a directory.
Returns some statistical information about the Mmap cache.
The MmapDirectory
embeds a MmapDirectory
to avoid multiplying the mmap
system calls.
Trait Implementations
Any entry associated to the path in the mmap will be removed before the file is deleted.
Opens a file and returns a boxed FileHandle
. Read more
Opens a writer for the virtual file associated with a Path. Read more
Reads the full content file that has been written using atomic_write. Read more
Atomically replace the content of a file with data. Read more
Acquire a lock in the given directory. Read more
Registers a callback that will be called whenever a change on the meta.json
using the atomic_write
API is detected. Read more
Auto Trait Implementations
impl RefUnwindSafe for MmapDirectory
impl Send for MmapDirectory
impl Sync for MmapDirectory
impl Unpin for MmapDirectory
impl UnwindSafe for MmapDirectory
Blanket Implementations
Mutably borrows from an owned value. Read more
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
. Read more
Convert Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
. Read more
Convert &Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s. Read more
Convert &mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s. Read more