diff options
Diffstat (limited to 'src/zenstore/include')
| -rw-r--r-- | src/zenstore/include/zenstore/blockstore.h | 6 | ||||
| -rw-r--r-- | src/zenstore/include/zenstore/cidstore.h | 4 |
2 files changed, 8 insertions, 2 deletions
diff --git a/src/zenstore/include/zenstore/blockstore.h b/src/zenstore/include/zenstore/blockstore.h index c28aa8102..7ef2f7baa 100644 --- a/src/zenstore/include/zenstore/blockstore.h +++ b/src/zenstore/include/zenstore/blockstore.h @@ -110,6 +110,7 @@ private: }; class BlockStoreCompactState; +class WorkerThreadPool; class BlockStore { @@ -178,8 +179,9 @@ public: const ClaimDiskReserveCallback& DiskReserveCallback = []() { return 0; }); void IterateChunks(const std::vector<BlockStoreLocation>& ChunkLocations, - const IterateChunksSmallSizeCallback& SmallSizeCallback, - const IterateChunksLargeSizeCallback& LargeSizeCallback); + const IterateChunksSmallSizeCallback& AsyncSmallSizeCallback, + const IterateChunksLargeSizeCallback& AsyncLargeSizeCallback, + WorkerThreadPool* OptionalWorkerPool); void CompactBlocks( const BlockStoreCompactState& CompactState, diff --git a/src/zenstore/include/zenstore/cidstore.h b/src/zenstore/include/zenstore/cidstore.h index 54f562767..d95fa7cd4 100644 --- a/src/zenstore/include/zenstore/cidstore.h +++ b/src/zenstore/include/zenstore/cidstore.h @@ -18,6 +18,7 @@ class CasStore; class CompressedBuffer; class IoBuffer; class ScrubContext; +class WorkerThreadPool; struct CidStoreSize { @@ -79,6 +80,9 @@ public: std::span<IoHash> RawHashes, InsertMode Mode = InsertMode::kMayBeMovedInPlace); virtual IoBuffer FindChunkByCid(const IoHash& DecompressedId) override; + bool IterateChunks(std::span<IoHash> DecompressedIds, + const std::function<bool(size_t Index, const IoBuffer& Payload)>& AsyncCallback, + WorkerThreadPool* OptionalWorkerPool); bool ContainsChunk(const IoHash& DecompressedId); void FilterChunks(HashKeySet& InOutChunks); void Flush(); |