diff options
| author | Per Larsson <[email protected]> | 2021-09-16 16:21:16 +0200 |
|---|---|---|
| committer | GitHub <[email protected]> | 2021-09-16 16:21:16 +0200 |
| commit | b166d4081655c4c181ed915ec5475ed535c67a9d (patch) | |
| tree | 2a7d6dd512dc3cfb106442f656bdc65a2650dcac /zenstore/cidstore.cpp | |
| parent | clang-format fixes (diff) | |
| download | zen-b166d4081655c4c181ed915ec5475ed535c67a9d.tar.xz zen-b166d4081655c4c181ed915ec5475ed535c67a9d.zip | |
Compact binary package caching support (#9)
Diffstat (limited to 'zenstore/cidstore.cpp')
| -rw-r--r-- | zenstore/cidstore.cpp | 13 |
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); |