pub struct HashHasher { /* private fields */ }Available on crate feature
rand and neither target_os=solana nor BPF only.Expand description
A faster, but less collision resistant hasher for hashes.
Specialized hasher that uses a random 8 bytes subslice of the hash as the hash value. Should not be used when collisions might be used to mount DOS attacks.
Using this results in about 4x faster lookups in a typical hashmap.
Trait Implementations§
Source§impl Default for HashHasher
impl Default for HashHasher
Source§fn default() -> HashHasher
fn default() -> HashHasher
Returns the “default value” for a type. Read more
Source§impl Hasher for HashHasher
impl Hasher for HashHasher
1.26.0 · Source§fn write_u128(&mut self, i: u128)
fn write_u128(&mut self, i: u128)
Writes a single
u128 into this hasher.1.3.0 · Source§fn write_usize(&mut self, i: usize)
fn write_usize(&mut self, i: usize)
Writes a single
usize into this hasher.1.26.0 · Source§fn write_i128(&mut self, i: i128)
fn write_i128(&mut self, i: i128)
Writes a single
i128 into this hasher.1.3.0 · Source§fn write_isize(&mut self, i: isize)
fn write_isize(&mut self, i: isize)
Writes a single
isize into this hasher.Source§fn write_length_prefix(&mut self, len: usize)
fn write_length_prefix(&mut self, len: usize)
🔬This is a nightly-only experimental API. (
hasher_prefixfree_extras)Writes a length prefix into this hasher, as part of being prefix-free. Read more
Auto Trait Implementations§
impl Freeze for HashHasher
impl RefUnwindSafe for HashHasher
impl Send for HashHasher
impl Sync for HashHasher
impl Unpin for HashHasher
impl UnsafeUnpin for HashHasher
impl UnwindSafe for HashHasher
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> 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 more