diff options
Diffstat (limited to 'src/directory/mmap_directory.rs')
-rw-r--r-- | src/directory/mmap_directory.rs | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/directory/mmap_directory.rs b/src/directory/mmap_directory.rs index cfb1e87..fc3898c 100644 --- a/src/directory/mmap_directory.rs +++ b/src/directory/mmap_directory.rs @@ -11,6 +11,7 @@ use crate::directory::error::{ DeleteError, IOError, OpenDirectoryError, OpenReadError, OpenWriteError, }; use crate::directory::read_only_source::BoxedData; +use crate::directory::AntiCallToken; use crate::directory::Directory; use crate::directory::DirectoryLock; use crate::directory::Lock; @@ -18,7 +19,7 @@ use crate::directory::ReadOnlySource; use crate::directory::WatchCallback; use crate::directory::WatchCallbackList; use crate::directory::WatchHandle; -use crate::directory::WritePtr; +use crate::directory::{TerminatingWrite, WritePtr}; use atomicwrites; use memmap::Mmap; use std::collections::HashMap; @@ -412,6 +413,12 @@ impl Seek for SafeFileWriter { } } +impl TerminatingWrite for SafeFileWriter { + fn terminate_ref(&mut self, _: AntiCallToken) -> io::Result<()> { + self.flush() + } +} + impl Directory for MmapDirectory { fn open_read(&self, path: &Path) -> result::Result<ReadOnlySource, OpenReadError> { debug!("Open Read {:?}", path); |