|
libfoedus-core
FOEDUS Core Library
|
Independent utility methods/classes for hashination, or hash functions. More...
Independent utility methods/classes for hashination, or hash functions.
So far we use xxhash as a static library.
Definition in file hash_hashinate.hpp.
#include <stdint.h>#include <cstring>#include <iosfwd>#include "foedus/compiler.hpp"#include "foedus/cxx11.hpp"#include "foedus/storage/hash/fwd.hpp"#include "foedus/storage/hash/hash_id.hpp"

Go to the source code of this file.
Classes | |
| struct | foedus::storage::hash::BloomFilterFingerprint |
| A fingerprint for bloom filter in each HashDataPage. More... | |
| struct | foedus::storage::hash::DataPageBloomFilter |
| To quickly check whether a HashDataPage might contain a specific hash value, we maintain a non-counting bloom filter in each page. More... | |
| union | foedus::storage::hash::IntermediateRoute |
| Compactly represents the route of intermediate pages to reach the given hash bin. More... | |
Namespaces | |
| foedus | |
| Root package of FOEDUS (Fast Optimistic Engine for Data Unification Services). | |
| foedus::storage | |
| Storage Manager, which implements a couple of key/value stores. | |
| foedus::storage::hash | |
| Hashtable Storage, a concurrent hashtable. | |
Functions | |
| HashValue | foedus::storage::hash::hashinate (const void *key, uint16_t key_length) |
| Calculates hash value for general input. More... | |
| template<typename T > | |
| HashValue | foedus::storage::hash::hashinate (T key) |
| Calculates hash value for a primitive type. More... | |
Variables | |
| const uint64_t | foedus::storage::hash::kXxhashKeySeed = 0x3f119e0435262a17ULL |
| Default seed value used for xxhash's xxh32/64 to hashinate keys. More... | |
| const uint16_t | foedus::storage::hash::kHashDataPageBloomFilterBytes = 64 |
| Byte size of bloom filter in each HashDataPage. More... | |
| const uint16_t | foedus::storage::hash::kHashDataPageBloomFilterBits = kHashDataPageBloomFilterBytes * 8 |
| Bit size of bloom filter in each HashDataPage. More... | |
| const uint8_t | foedus::storage::hash::kHashDataPageBloomFilterIndexSize = 9U |
| How many bits we need in order to represent an index in bloom filter in each HashDataPage. More... | |
| const HashValue | foedus::storage::hash::kHashDataPageBloomFilterIndexMask = (1U << kHashDataPageBloomFilterIndexSize) - 1U |
| const uint8_t | foedus::storage::hash::kHashDataPageBloomFilterHashes = 3 |
| Number of hash functions (k) of bloom filter in each HashDataPage. More... | |