diff options
author | dec05eba <dec05eba@protonmail.com> | 2018-03-05 22:45:56 +0100 |
---|---|---|
committer | dec05eba <dec05eba@protonmail.com> | 2020-08-18 23:25:46 +0200 |
commit | eda9a7bbefc5587bf1ff895a9214f450e64575fa (patch) | |
tree | 0f968fb7373a29cf116b4b6d473a966e28e62825 /include/Key.hpp | |
parent | 33e823ddddddd4a13b1a05b90ae5b419b89bcb1d (diff) |
Implement 'create' operation, add seeding
Seeding is currently only done on the key you specify, in the future
the user should request data that it can seed.
Diffstat (limited to 'include/Key.hpp')
-rw-r--r-- | include/Key.hpp | 29 |
1 files changed, 0 insertions, 29 deletions
diff --git a/include/Key.hpp b/include/Key.hpp index f7a600b..18971d1 100644 --- a/include/Key.hpp +++ b/include/Key.hpp @@ -1,7 +1,6 @@ #pragma once #include <opendht/infohash.h> -#include <unordered_map> namespace odhtdb { @@ -13,32 +12,4 @@ namespace odhtdb dht::InfoHash hashedKey; }; - - // Source: https://stackoverflow.com/a/11414104 (public license) - static unsigned int fnvHash(const unsigned char *key, int len) - { - unsigned int h = 2166136261; - for (int i = 0; i < len; i++) - h = (h * 16777619) ^ key[i]; - return h; - } - - struct KeyHash - { - size_t operator()(const Key &key) const - { - return fnvHash(key.hashedKey.data(), key.hashedKey.size()); - } - }; - - struct KeyCompare - { - bool operator()(const Key &lhs, const Key &rhs) const - { - return lhs.hashedKey == rhs.hashedKey; - } - }; - - template <typename ValueType> - using KeyMap = std::unordered_map<Key, ValueType, KeyHash, KeyCompare>; } |