aboutsummaryrefslogtreecommitdiff
path: root/src/zenutil/referencemetadata.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/zenutil/referencemetadata.cpp')
-rw-r--r--src/zenutil/referencemetadata.cpp32
1 files changed, 32 insertions, 0 deletions
diff --git a/src/zenutil/referencemetadata.cpp b/src/zenutil/referencemetadata.cpp
new file mode 100644
index 000000000..bbcafcfba
--- /dev/null
+++ b/src/zenutil/referencemetadata.cpp
@@ -0,0 +1,32 @@
+// Copyright Epic Games, Inc. All Rights Reserved.
+
+#include <zenutil/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