aboutsummaryrefslogtreecommitdiff
path: root/zenstore/cidstore.cpp
diff options
context:
space:
mode:
authorPer Larsson <[email protected]>2021-09-16 16:21:16 +0200
committerGitHub <[email protected]>2021-09-16 16:21:16 +0200
commitb166d4081655c4c181ed915ec5475ed535c67a9d (patch)
tree2a7d6dd512dc3cfb106442f656bdc65a2650dcac /zenstore/cidstore.cpp
parentclang-format fixes (diff)
downloadzen-b166d4081655c4c181ed915ec5475ed535c67a9d.tar.xz
zen-b166d4081655c4c181ed915ec5475ed535c67a9d.zip
Compact binary package caching support (#9)
Diffstat (limited to 'zenstore/cidstore.cpp')
-rw-r--r--zenstore/cidstore.cpp13
1 files changed, 7 insertions, 6 deletions
diff --git a/zenstore/cidstore.cpp b/zenstore/cidstore.cpp
index e6c7f98ee..100054a0e 100644
--- a/zenstore/cidstore.cpp
+++ b/zenstore/cidstore.cpp
@@ -28,15 +28,16 @@ struct CidStore::CidState
RwLock m_Lock;
tsl::robin_map<IoHash, IoHash> m_CidMap;
- CasStore::InsertResult AddChunk(CompressedBuffer& ChunkData)
+ CidStore::InsertResult AddChunk(CompressedBuffer& ChunkData)
{
- IoBuffer Payload = ChunkData.GetCompressed().Flatten().AsIoBuffer();
- IoHash CompressedHash = IoHash::HashBuffer(Payload.Data(), Payload.Size());
+ const IoHash DecompressedId = IoHash::FromBLAKE3(ChunkData.GetRawHash());
+ IoBuffer Payload = ChunkData.GetCompressed().Flatten().AsIoBuffer();
+ IoHash CompressedHash = IoHash::HashBuffer(Payload.Data(), Payload.Size());
CasStore::InsertResult Result = m_CasStore.InsertChunk(Payload, CompressedHash);
- AddCompressedCid(IoHash::FromBLAKE3(ChunkData.GetRawHash()), CompressedHash);
+ AddCompressedCid(DecompressedId, CompressedHash);
- return Result;
+ return {.DecompressedId = DecompressedId, .CompressedHash = CompressedHash, .New = Result.New};
}
void AddCompressedCid(const IoHash& DecompressedId, const IoHash& Compressed)
@@ -103,7 +104,7 @@ CidStore::~CidStore()
{
}
-CasStore::InsertResult
+CidStore::InsertResult
CidStore::AddChunk(CompressedBuffer& ChunkData)
{
return m_Impl->AddChunk(ChunkData);