diff options
| author | Stefan Boberg <[email protected]> | 2021-09-19 23:17:44 +0200 |
|---|---|---|
| committer | Stefan Boberg <[email protected]> | 2021-09-19 23:17:44 +0200 |
| commit | fe068c76e0f38dabf80bff2730ff9c713763d707 (patch) | |
| tree | 03b0d149306691e8b69ecf322ead4290e9605ec7 /zenstore/include | |
| parent | Changed so Windows also uses the portable std::mutex implementation and rewor... (diff) | |
| download | zen-fe068c76e0f38dabf80bff2730ff9c713763d707.tar.xz zen-fe068c76e0f38dabf80bff2730ff9c713763d707.zip | |
Added BasicFile::StreamFile helper function to support reading large files in a chunked fashion (will be using memory-mapped strategy in the future where it makes sense)
Diffstat (limited to 'zenstore/include')
| -rw-r--r-- | zenstore/include/zenstore/basicfile.h | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/zenstore/include/zenstore/basicfile.h b/zenstore/include/zenstore/basicfile.h index 0daa5d39f..a5874cfe4 100644 --- a/zenstore/include/zenstore/basicfile.h +++ b/zenstore/include/zenstore/basicfile.h @@ -8,6 +8,7 @@ #include <zencore/windows.h> #include <filesystem> +#include <functional> namespace zen { @@ -28,8 +29,9 @@ public: void Open(std::filesystem::path FileName, bool IsCreate); void Open(std::filesystem::path FileName, bool IsCreate, std::error_code& Ec); void Close(); - void Read(void* Data, uint64_t Size, uint64_t Offset); - void Write(const void* Data, uint64_t Size, uint64_t Offset); + void Read(void* Data, uint64_t Size, uint64_t FileOffset); + void StreamFile(std::function<void(const void* Data, uint64_t Size)>&& ChunkFun); + void Write(const void* Data, uint64_t Size, uint64_t FileOffset); void Flush(); uint64_t FileSize(); void* Handle() { return m_FileHandle; } |