diff options
| author | Stefan Boberg <[email protected]> | 2021-09-26 21:06:06 +0200 |
|---|---|---|
| committer | Stefan Boberg <[email protected]> | 2021-09-26 21:06:06 +0200 |
| commit | 4f1b3600b85461e7817d23f46eedcae40b99c160 (patch) | |
| tree | 374266267c486243b23ac3d76ad0b972e172940c /zenstore/include | |
| parent | Use /MP on all projects (diff) | |
| download | zen-4f1b3600b85461e7817d23f46eedcae40b99c160.tar.xz zen-4f1b3600b85461e7817d23f46eedcae40b99c160.zip | |
Various BasicFile improvements
* BasicFile::Open clears error_code on entry, and exits early on failure to avoid initialization of m_FileHandle
* Made BasicFile::Read handle large reads
* Made BasicFile::Write handle large writes
* Added BasicFile::WriteAll which may be optimized in the future to handle what is essentially a file copy more efficiently
Diffstat (limited to 'zenstore/include')
| -rw-r--r-- | zenstore/include/zenstore/basicfile.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/zenstore/include/zenstore/basicfile.h b/zenstore/include/zenstore/basicfile.h index 8a11ea98a..fad4a33e1 100644 --- a/zenstore/include/zenstore/basicfile.h +++ b/zenstore/include/zenstore/basicfile.h @@ -37,9 +37,11 @@ public: void StreamFile(std::function<void(const void* Data, uint64_t Size)>&& ChunkFun); void StreamByteRange(uint64_t FileOffset, uint64_t Size, std::function<void(const void* Data, uint64_t Size)>&& ChunkFun); void Write(const void* Data, uint64_t Size, uint64_t FileOffset); + void Write(const void* Data, uint64_t Size, uint64_t FileOffset, std::error_code& Ec); void Flush(); uint64_t FileSize(); IoBuffer ReadAll(); + void WriteAll(IoBuffer Data, std::error_code& Ec); inline void* Handle() { return m_FileHandle; } |