From 5532f58f2bc0158cf443968147ae953156a2f463 Mon Sep 17 00:00:00 2001 From: Stefan Boberg Date: Fri, 1 Oct 2021 18:55:02 +0200 Subject: cas: added some GC stubs --- zenstore/CAS.cpp | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) (limited to 'zenstore/CAS.cpp') diff --git a/zenstore/CAS.cpp b/zenstore/CAS.cpp index 1db2b50bf..808fc8fb3 100644 --- a/zenstore/CAS.cpp +++ b/zenstore/CAS.cpp @@ -31,6 +31,15 @@ CasChunkSet::AddChunkToSet(const IoHash& HashToAdd) m_ChunkSet.insert(HashToAdd); } +void +CasChunkSet::AddChunksToSet(std::span HashesToAdd) +{ + for (const IoHash& Hash : HashesToAdd) + { + m_ChunkSet.insert(Hash); + } +} + void CasChunkSet::RemoveChunksIf(std::function&& Predicate) { @@ -58,6 +67,34 @@ CasChunkSet::IterateChunks(std::function&& Callba ////////////////////////////////////////////////////////////////////////// +struct GcContext::GcState +{ + CasChunkSet m_CasChunks; + CasChunkSet m_CidChunks; +}; + +GcContext::GcContext() : m_State(std::make_unique()) +{ +} + +GcContext::~GcContext() +{ +} + +void +GcContext::ContributeCids(std::span Cids) +{ + m_State->m_CidChunks.AddChunksToSet(Cids); +} + +void +GcContext::ContributeCas(std::span Cas) +{ + m_State->m_CasChunks.AddChunksToSet(Cas); +} + +////////////////////////////////////////////////////////////////////////// + void ScrubContext::ReportBadChunks(std::span BadChunks) { -- cgit v1.2.3