aboutsummaryrefslogtreecommitdiff
path: root/zenstore/CAS.cpp
diff options
context:
space:
mode:
authorStefan Boberg <[email protected]>2021-08-23 19:12:14 +0200
committerStefan Boberg <[email protected]>2021-08-23 19:12:14 +0200
commit9497ba8cba4347112e4335ca02d143aec8a45f24 (patch)
tree7c625a69063fc6aecbc4eb6384d5a561ce94e3ad /zenstore/CAS.cpp
parentImproved ZenCacheStore::DropBucket logic and added logging (diff)
downloadzen-9497ba8cba4347112e4335ca02d143aec8a45f24.tar.xz
zen-9497ba8cba4347112e4335ca02d143aec8a45f24.zip
Implemented more formalised CAS chunk filtering (with plenty of room for optimization)
Diffstat (limited to 'zenstore/CAS.cpp')
-rw-r--r--zenstore/CAS.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/zenstore/CAS.cpp b/zenstore/CAS.cpp
index 36cf85549..d91e8cb2c 100644
--- a/zenstore/CAS.cpp
+++ b/zenstore/CAS.cpp
@@ -40,6 +40,7 @@ public:
virtual void Initialize(const CasStoreConfiguration& InConfig) override;
virtual CasStore::InsertResult InsertChunk(IoBuffer Chunk, const IoHash& ChunkHash) override;
virtual IoBuffer FindChunk(const IoHash& ChunkHash) override;
+ virtual void FilterChunks(CasChunkSet& InOutChunks) override;
virtual void Flush() override;
private:
@@ -144,6 +145,14 @@ CasImpl::FindChunk(const IoHash& ChunkHash)
return IoBuffer{};
}
+void
+CasImpl::FilterChunks(CasChunkSet& InOutChunks)
+{
+ m_SmallStrategy.FilterChunks(InOutChunks);
+ m_TinyStrategy.FilterChunks(InOutChunks);
+ m_LargeStrategy.FilterChunks(InOutChunks);
+}
+
void
CasImpl::Flush()
{