parity_db/hash.rs
1// Copyright 2021-2022 Parity Technologies (UK) Ltd.
2// This file is dual-licensed as Apache-2.0 or MIT.
3
4use std::hash::BuildHasherDefault;
5
6#[derive(Default)]
7pub struct IdentityKeyHash(u64);
8pub type IdentityBuildHasher = BuildHasherDefault<IdentityKeyHash>;
9
10impl std::hash::Hasher for IdentityKeyHash {
11	fn finish(&self) -> u64 {
12		self.0
13	}
14
15	fn write(&mut self, bytes: &[u8]) {
16		self.0 = u64::from_le_bytes((&bytes[0..8]).try_into().unwrap())
17	}
18}