summaryrefslogtreecommitdiffstats
path: root/native/src/hasher.rs
blob: 9f6aaccebd992a48d91a66fda584b36d63f74983 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
/// The hasher used to compare layouts.
#[derive(Debug)]
pub struct Hasher(twox_hash::XxHash64);

impl Default for Hasher {
    fn default() -> Self {
        Hasher(twox_hash::XxHash64::default())
    }
}

impl core::hash::Hasher for Hasher {
    fn write(&mut self, bytes: &[u8]) {
        self.0.write(bytes)
    }

    fn finish(&self) -> u64 {
        self.0.finish()
    }
}