diff options
| author | Stefan Boberg <[email protected]> | 2021-05-24 19:26:40 +0200 |
|---|---|---|
| committer | Stefan Boberg <[email protected]> | 2021-05-24 19:26:40 +0200 |
| commit | e70e2b4453a27d9d1caf77224ffd6335c50981fb (patch) | |
| tree | 05d469aa1c3ab6c1840fd4732696c708d1a2a07d /zenstore/cidstore.cpp | |
| parent | Validate payloads using embedded CompressedBuffer hash (diff) | |
| download | zen-e70e2b4453a27d9d1caf77224ffd6335c50981fb.tar.xz zen-e70e2b4453a27d9d1caf77224ffd6335c50981fb.zip | |
Added CidStore, currently used to track relationships between compressed and uncompressed chunk hashes
This first implementation is in-memory only, persistence is next
Diffstat (limited to 'zenstore/cidstore.cpp')
| -rw-r--r-- | zenstore/cidstore.cpp | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/zenstore/cidstore.cpp b/zenstore/cidstore.cpp new file mode 100644 index 000000000..6e558e639 --- /dev/null +++ b/zenstore/cidstore.cpp @@ -0,0 +1,33 @@ +// Copyright Epic Games, Inc. All Rights Reserved. + +#include "zenstore/cidstore.h" +#include "zenstore/CAS.h" + +namespace zen { + +CidStore::CidStore(CasStore& InCasStore) : m_CasStore(InCasStore) +{ +} + +CidStore::~CidStore() +{ +} + +void +CidStore::AddCompressedCid(const IoHash& DecompressedId, const IoHash& Compressed) +{ + m_CidMap.insert_or_assign(DecompressedId, Compressed); +} + +IoBuffer +CidStore::FindChunkByCid(const IoHash& DecompressedId) +{ + if (auto It = m_CidMap.find(DecompressedId); It != m_CidMap.end()) + { + return m_CasStore.FindChunk(It->second); + } + + return IoBuffer(); +} + +} // namespace zen |