diff options
| author | Dan Engelbrecht <[email protected]> | 2024-11-11 09:46:09 +0100 |
|---|---|---|
| committer | Dan Engelbrecht <[email protected]> | 2024-11-11 09:46:09 +0100 |
| commit | 4584fd6e56fa5c5a7428828e7d3aea4e25a17977 (patch) | |
| tree | c7f0ae3ea387585fb167fb9f5dfc3ecad8918e34 /src/zenstore/cas.cpp | |
| parent | use IterateChunks for "getchunks" projectstore rpc request (diff) | |
| download | zen-de/improved-projectstore-batch-requests.tar.xz zen-de/improved-projectstore-batch-requests.zip | |
allow control of size for batch iteration
allow adding compositebuffers as attachments directly
add batch2 httpstore api to allow batching of CAS & Oid with range requests
allow responses with file handles from project store
Signed-off-by: Dan Engelbrecht <[email protected]>
Diffstat (limited to 'src/zenstore/cas.cpp')
| -rw-r--r-- | src/zenstore/cas.cpp | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/src/zenstore/cas.cpp b/src/zenstore/cas.cpp index bff221fc7..4252fc859 100644 --- a/src/zenstore/cas.cpp +++ b/src/zenstore/cas.cpp @@ -59,7 +59,8 @@ public: virtual void FilterChunks(HashKeySet& InOutChunks) override; virtual bool IterateChunks(std::span<IoHash> DecompressedIds, const std::function<bool(size_t Index, const IoBuffer& Payload)>& AsyncCallback, - WorkerThreadPool* OptionalWorkerPool) override; + WorkerThreadPool* OptionalWorkerPool, + uint64_t LargeSizeLimit) override; virtual void Flush() override; virtual void ScrubStorage(ScrubContext& Ctx) override; virtual CidStoreSize TotalSize() const override; @@ -392,7 +393,8 @@ CasImpl::FilterChunks(HashKeySet& InOutChunks) bool CasImpl::IterateChunks(std::span<IoHash> DecompressedIds, const std::function<bool(size_t Index, const IoBuffer& Payload)>& AsyncCallback, - WorkerThreadPool* OptionalWorkerPool) + WorkerThreadPool* OptionalWorkerPool, + uint64_t LargeSizeLimit) { ZEN_TRACE_CPU("CAS::IterateChunks"); if (!m_SmallStrategy.IterateChunks( @@ -402,7 +404,8 @@ CasImpl::IterateChunks(std::span<IoHash> DecompressedIds, Chunk.SetContentType(ZenContentType::kCompressedBinary); return AsyncCallback(Index, Payload); }, - OptionalWorkerPool)) + OptionalWorkerPool, + LargeSizeLimit)) { return false; } @@ -413,7 +416,8 @@ CasImpl::IterateChunks(std::span<IoHash> DecompressedIds, Chunk.SetContentType(ZenContentType::kCompressedBinary); return AsyncCallback(Index, Payload); }, - OptionalWorkerPool)) + OptionalWorkerPool, + LargeSizeLimit)) { return false; } |