pub enum HashType {
Show 14 variants
OneAtATime,
Md5,
Crc16,
Crc32,
Crc32a,
Fnv1_64,
Fnv1a64,
Fnv1_32,
Fnv1a32,
Hsieh,
Murmur,
Jenkins,
Murmur3,
Murmur3X64_64,
}Expand description
Hash algorithm selected by hash:.
The names mirror the algorithm tags accepted by the YAML parser. Stage 3 owns the hashing math; this enum models only the configured choice so the parser can echo it back without depending on the hashkit module.
§Examples
use dynomite::conf::HashType;
assert_eq!(HashType::parse("murmur3").unwrap(), HashType::Murmur3);
assert_eq!(HashType::Md5.as_str(), "md5");Variants§
OneAtATime
One-at-a-time hash.
Md5
MD5 (truncated for ketama).
Crc16
CRC-16.
Crc32
CRC-32.
Crc32a
CRC-32 ARM.
Fnv1_64
64-bit FNV-1.
Fnv1a64
64-bit FNV-1a.
Fnv1_32
32-bit FNV-1.
Fnv1a32
32-bit FNV-1a.
Hsieh
Paul Hsieh’s hash.
Murmur
Murmur hash (32-bit, version 1).
Jenkins
Bob Jenkins’s hash.
Murmur3
Murmur hash 3 (128-bit).
Murmur3X64_64
MurmurHash3 truncated to 64 bits (used by random slicing).
Implementations§
Trait Implementations§
Source§impl<'de> Deserialize<'de> for HashType
impl<'de> Deserialize<'de> for HashType
Source§fn deserialize<D: Deserializer<'de>>(de: D) -> Result<Self, D::Error>
fn deserialize<D: Deserializer<'de>>(de: D) -> Result<Self, D::Error>
Deserialize this value from the given Serde deserializer. Read more
impl Copy for HashType
impl Eq for HashType
impl StructuralPartialEq for HashType
Auto Trait Implementations§
impl Freeze for HashType
impl RefUnwindSafe for HashType
impl Send for HashType
impl Sync for HashType
impl Unpin for HashType
impl UnsafeUnpin for HashType
impl UnwindSafe for HashType
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.