diff options
Diffstat (limited to 'src/zenstore/referencemetadata.cpp')
| -rw-r--r-- | src/zenstore/referencemetadata.cpp | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/src/zenstore/referencemetadata.cpp b/src/zenstore/referencemetadata.cpp new file mode 100644 index 000000000..e202b435b --- /dev/null +++ b/src/zenstore/referencemetadata.cpp @@ -0,0 +1,32 @@ +// Copyright Epic Games, Inc. All Rights Reserved. + +#include "referencemetadata.h" +////////////////////////////////////////////////////////////////////////// + +#include <zencore/xxhash.h> + +namespace zen { + +uint32_t +ReferenceMetaDataHeader::ComputeChecksum() const +{ + return XXH32(&Magic, sizeof(ReferenceMetaDataHeader) - sizeof(uint32_t), 0xC0C0'BABA); +} + +bool +ReferenceMetaDataHeader::IsValid(uint32_t ExpectedMagic) const +{ + if (Magic != ExpectedMagic) + { + return false; + } + + if (Checksum != ComputeChecksum()) + { + return false; + } + + return true; +} + +} // namespace zen |