fmmap/memory/
sync_impl.rs

1use std::path::{Path, PathBuf};
2use std::time::SystemTime;
3use bytes::{Bytes, BytesMut};
4use crate::{MmapFileExt, MmapFileMutExt, MetaData};
5use crate::metadata::MemoryMetaData;
6
7define_impl_constructor_for_mmap_file!(MemoryMmapFile, "MemoryMmapFile", "");
8
9impl_mmap_file_ext!(MemoryMmapFile);
10
11define_and_impl_constructor_for_mmap_file_mut!(MemoryMmapFileMut, "MemoryMmapFileMut", MemoryMmapFile, "MemoryMmapFile", "MmapFileExt", "");
12
13impl_mmap_file_ext!(MemoryMmapFileMut);
14
15impl MmapFileMutExt for MemoryMmapFileMut {
16    #[inline]
17    fn as_mut_slice(&mut self) -> &mut [u8] {
18        self.mmap.as_mut()
19    }
20
21    #[inline]
22    fn is_cow(&self) -> bool {
23        false
24    }
25
26    noop_flush!();
27
28    #[inline]
29    fn truncate(&mut self, max_sz: u64) -> crate::error::Result<()> {
30        self.mmap.resize(max_sz as usize, 0);
31        Ok(())
32    }
33
34    #[inline]
35    fn drop_remove(self) -> crate::error::Result<()> {
36        Ok(())
37    }
38
39    #[inline]
40    fn close_with_truncate(self, _max_sz: i64) -> crate::error::Result<()> {
41        Ok(())
42    }
43}