diff options
Diffstat (limited to 'zenstore/CAS.cpp')
| -rw-r--r-- | zenstore/CAS.cpp | 24 |
1 files changed, 17 insertions, 7 deletions
diff --git a/zenstore/CAS.cpp b/zenstore/CAS.cpp index af0fcc609..b3ef7a320 100644 --- a/zenstore/CAS.cpp +++ b/zenstore/CAS.cpp @@ -25,6 +25,11 @@ namespace zen { +void +ScrubContext::ReportBadChunks(std::span<IoHash> BadChunks) +{ +} + /** * CAS store implementation * @@ -44,7 +49,7 @@ public: virtual IoBuffer FindChunk(const IoHash& ChunkHash) override; virtual void FilterChunks(CasChunkSet& InOutChunks) override; virtual void Flush() override; - virtual void Scrub() override; + virtual void Scrub(ScrubContext& Ctx) override; private: CasContainerStrategy m_TinyStrategy; @@ -52,7 +57,7 @@ private: FileCasStrategy m_LargeStrategy; }; -CasImpl::CasImpl() : m_TinyStrategy(m_Config, m_Stats), m_SmallStrategy(m_Config, m_Stats), m_LargeStrategy(m_Config, m_Stats) +CasImpl::CasImpl() : m_TinyStrategy(m_Config), m_SmallStrategy(m_Config), m_LargeStrategy(m_Config) { } @@ -105,6 +110,9 @@ CasImpl::Initialize(const CasStoreConfiguration& InConfig) m_TinyStrategy.Initialize("tobs", 16, IsNewStore); m_SmallStrategy.Initialize("sobs", 4096, IsNewStore); + + ScrubContext Ctx; + Scrub(Ctx); } CasStore::InsertResult @@ -165,11 +173,11 @@ CasImpl::Flush() } void -CasImpl::Scrub() +CasImpl::Scrub(ScrubContext& Ctx) { - m_SmallStrategy.Scrub(); - m_TinyStrategy.Scrub(); - m_LargeStrategy.Scrub(); + m_SmallStrategy.Scrub(Ctx); + m_TinyStrategy.Scrub(Ctx); + m_LargeStrategy.Scrub(Ctx); } ////////////////////////////////////////////////////////////////////////// @@ -194,7 +202,9 @@ TEST_CASE("CasStore") std::unique_ptr<zen::CasStore> Store{CreateCasStore()}; Store->Initialize(config); - Store->Scrub(); + + ScrubContext Ctx; + Store->Scrub(Ctx); IoBuffer Value1{16}; memcpy(Value1.MutableData(), "1234567890123456", 16); |