summaryrefslogtreecommitdiff
path: root/src/buildtool/common/artifact_blob.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/buildtool/common/artifact_blob.cpp')
-rw-r--r--src/buildtool/common/artifact_blob.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/buildtool/common/artifact_blob.cpp b/src/buildtool/common/artifact_blob.cpp
index 894d6d91..3b199e5e 100644
--- a/src/buildtool/common/artifact_blob.cpp
+++ b/src/buildtool/common/artifact_blob.cpp
@@ -21,6 +21,15 @@ auto ArtifactBlob::ReadContent() const noexcept
return content_;
}
+auto ArtifactBlob::ReadIncrementally(std::size_t chunk_size) const& noexcept
+ -> expected<IncrementalReader, std::string> {
+ if (content_ == nullptr) {
+ return unexpected<std::string>{
+ "ArtifactBlob::ReadIncrementally: missing memory source"};
+ }
+ return IncrementalReader::FromMemory(chunk_size, content_.get());
+}
+
namespace std {
auto hash<ArtifactBlob>::operator()(ArtifactBlob const& blob) const noexcept
-> std::size_t {