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.Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.