aboutsummaryrefslogtreecommitdiff
path: root/zenstore/include
diff options
context:
space:
mode:
authorStefan Boberg <[email protected]>2021-09-26 21:06:06 +0200
committerStefan Boberg <[email protected]>2021-09-26 21:06:06 +0200
commit4f1b3600b85461e7817d23f46eedcae40b99c160 (patch)
tree374266267c486243b23ac3d76ad0b972e172940c /zenstore/include
parentUse /MP on all projects (diff)
downloadzen-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.h2
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; }