simd_r_drive/storage_engine/digest/
xxh3_build_hasher.rs1use std::hash::{BuildHasher, Hasher};
2use xxhash_rust::xxh3::xxh3_64;
3
4#[derive(Default)]
6pub struct Xxh3Hasher {
7 hash: u64,
8}
9
10impl Hasher for Xxh3Hasher {
11 fn write(&mut self, bytes: &[u8]) {
12 self.hash = xxh3_64(bytes);
13 }
14
15 fn finish(&self) -> u64 {
16 self.hash
17 }
18}
19
20#[derive(Default, Clone)]
22pub struct Xxh3BuildHasher;
23
24impl BuildHasher for Xxh3BuildHasher {
25 type Hasher = Xxh3Hasher;
26
27 fn build_hasher(&self) -> Self::Hasher {
28 Xxh3Hasher::default()
29 }
30}