#pragma once
-#include "Checksum.hpp"
#include "Util.hpp"
#include <compression/Decompressor.hpp>
+#include <util/XXH3_64.hpp>
#include <cstdint>
#include <cstdio>
private:
std::unique_ptr<compression::Decompressor> m_decompressor;
- Checksum m_checksum;
+ util::XXH3_64 m_checksum;
uint8_t m_magic[4];
uint8_t m_version;
compression::Type m_compression_type;
#pragma once
-#include "Checksum.hpp"
#include "Util.hpp"
#include <compression/Compressor.hpp>
+#include <util/XXH3_64.hpp>
#include <cstdint>
#include <cstdio>
private:
std::unique_ptr<compression::Compressor> m_compressor;
- Checksum m_checksum;
+ util::XXH3_64 m_checksum;
};
template<typename T>
#include "AtomicFile.hpp"
#include "CacheEntryReader.hpp"
#include "CacheEntryWriter.hpp"
-#include "Checksum.hpp"
#include "Config.hpp"
#include "Context.hpp"
#include "Digest.hpp"
#include "hashutil.hpp"
#include <core/exceptions.hpp>
+#include <util/XXH3_64.hpp>
#include <memory>
operator()(const FileInfo& file_info) const
{
static_assert(sizeof(FileInfo) == 48, "unexpected size"); // No padding.
- Checksum checksum;
+ util::XXH3_64 checksum;
checksum.update(&file_info, sizeof(file_info));
return checksum.digest();
}
#include "mainoptions.hpp"
-#include <Checksum.hpp>
#include <Config.hpp>
#include <Fd.hpp>
#include <Hash.hpp>
#include <storage/Storage.hpp>
#include <storage/primary/PrimaryStorage.hpp>
#include <util/TextTable.hpp>
+#include <util/XXH3_64.hpp>
#include <util/expected.hpp>
#include <util/string.hpp>
break;
case CHECKSUM_FILE: {
- Checksum checksum;
+ util::XXH3_64 checksum;
Fd fd(arg == "-" ? STDIN_FILENO : open(arg.c_str(), O_RDONLY));
Util::read_fd(*fd, [&checksum](const void* data, size_t size) {
checksum.update(data, size);
#include "Storage.hpp"
-#include <Checksum.hpp>
#include <Config.hpp>
#include <Logging.hpp>
#include <MiniTrace.hpp>
#endif
#include <util/Timer.hpp>
#include <util/Tokenizer.hpp>
+#include <util/XXH3_64.hpp>
#include <util/expected.hpp>
#include <util/string.hpp>
double highest_score = -1.0;
std::string best_shard;
for (const auto& shard_config : shards) {
- Checksum checksum;
+ util::XXH3_64 checksum;
checksum.update(key.bytes(), key.size());
checksum.update(shard_config.name.data(), shard_config.name.length());
const double score = to_half_open_unit_interval(checksum.digest());
#include <cstdint>
-class Checksum
+namespace util {
+
+class XXH3_64
{
public:
- Checksum();
- ~Checksum();
+ XXH3_64();
+ ~XXH3_64();
void reset();
void update(const void* data, size_t length);
XXH3_state_t* m_state;
};
-inline Checksum::Checksum() : m_state(XXH3_createState())
+inline XXH3_64::XXH3_64() : m_state(XXH3_createState())
{
reset();
}
-inline Checksum::~Checksum()
+inline XXH3_64::~XXH3_64()
{
XXH3_freeState(m_state);
}
inline void
-Checksum::reset()
+XXH3_64::reset()
{
XXH3_64bits_reset(m_state);
}
inline void
-Checksum::update(const void* data, size_t length)
+XXH3_64::update(const void* data, size_t length)
{
XXH3_64bits_update(m_state, data, length);
}
inline uint64_t
-Checksum::digest() const
+XXH3_64::digest() const
{
return XXH3_64bits_digest(m_state);
}
+
+} // namespace util
main.cpp
test_Args.cpp
test_AtomicFile.cpp
- test_Checksum.cpp
test_Config.cpp
test_Depfile.cpp
test_FormatNonstdStringView.cpp
test_storage_primary_util.cpp
test_util_TextTable.cpp
test_util_Tokenizer.cpp
+ test_util_XXH3_64.cpp
test_util_expected.cpp
test_util_path.cpp
test_util_string.cpp
-// Copyright (C) 2011-2020 Joel Rosdahl and other contributors
+// Copyright (C) 2011-2021 Joel Rosdahl and other contributors
//
// See doc/AUTHORS.adoc for a complete list of contributors.
//
// this program; if not, write to the Free Software Foundation, Inc., 51
// Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
-#include "../src/Checksum.hpp"
+#include <util/XXH3_64.hpp>
-#include "third_party/doctest.h"
+#include <third_party/doctest.h>
-TEST_SUITE_BEGIN("Checksum");
+TEST_SUITE_BEGIN("util::XXH3_64");
-TEST_CASE("Checksums")
+TEST_CASE("util::XXH3_64")
{
- Checksum checksum;
+ util::XXH3_64 checksum;
CHECK(checksum.digest() == 0x2d06800538d394c2);
checksum.update("foo", 3);