8 #include "../../core/os/memory_mapped_file.h"
9 #include "../../core/utilities/filesystem_utilities.h"
29 m_memory_mapped_file.close();
32 bool open(
const std::string_view& file_path)
34 auto folder = FileSystemUtilities::get_path_by_excluding_file(file_path);
36 if (folder.length() > 0)
38 if (FileSystemUtilities::does_path_exist(folder) ==
false)
40 if (FileSystemUtilities::create_directory(folder) ==
false)
47 bool success = m_memory_mapped_file.open(file_path, MEMORY_MAPPED_FILE_SIZE);
52 std::size_t buffer_size = 0;
53 m_memory_mapped_file.get_buffer(&m_buffer, buffer_size);
61 return m_memory_mapped_file.is_open();
66 if (m_memory_mapped_file.is_open())
68 m_memory_mapped_file.flush_to_disc();
82 void increment_outgoing_seq_no()
84 reinterpret_cast<uint32_t*
>(m_buffer)[0]++;
87 void decrement_outgoing_seq_no()
89 reinterpret_cast<uint32_t*
>(m_buffer)[0]--;
98 reinterpret_cast<uint32_t*
>(m_buffer)[0] = n;
107 return reinterpret_cast<uint32_t*
>(m_buffer)[0];
111 void increment_incoming_seq_no()
113 reinterpret_cast<uint32_t*
>(m_buffer)[1]++;
122 reinterpret_cast<uint32_t*
>(m_buffer)[1] = n;
131 return reinterpret_cast<uint32_t*
>(m_buffer)[1];
135 MemoryMappedFile m_memory_mapped_file;
136 char* m_buffer =
nullptr;
137 static inline constexpr std::size_t MEMORY_MAPPED_FILE_SIZE = 65536;