fmmap/memory/
sync_impl.rs1use 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}