use super::core::{lemire_key_from_prefix, IndexKey};
use crate::routing::dedup::PacketHash;
use crate::wire::DestinationHash;
impl IndexKey for DestinationHash {
fn lemire_key(&self) -> u64 {
lemire_key_from_prefix(self.as_bytes())
}
}
impl IndexKey for crate::identity::IdentityHash {
fn lemire_key(&self) -> u64 {
lemire_key_from_prefix(self.as_bytes())
}
}
impl IndexKey for PacketHash {
fn lemire_key(&self) -> u64 {
lemire_key_from_prefix(self.as_bytes())
}
}
impl IndexKey for crate::routing::links::LinkId {
fn lemire_key(&self) -> u64 {
lemire_key_from_prefix(self.as_bytes())
}
}
impl IndexKey for crate::interfaces::InterfaceId {
fn lemire_key(&self) -> u64 {
u64::from_le_bytes(*self.as_bytes())
}
}
impl IndexKey for [u8; 32] {
fn lemire_key(&self) -> u64 {
lemire_key_from_prefix(self)
}
}