aboutsummaryrefslogtreecommitdiff
path: root/karyons_p2p/src/routing_table/entry.rs
diff options
context:
space:
mode:
Diffstat (limited to 'karyons_p2p/src/routing_table/entry.rs')
-rw-r--r--karyons_p2p/src/routing_table/entry.rs41
1 files changed, 0 insertions, 41 deletions
diff --git a/karyons_p2p/src/routing_table/entry.rs b/karyons_p2p/src/routing_table/entry.rs
deleted file mode 100644
index b3f219f..0000000
--- a/karyons_p2p/src/routing_table/entry.rs
+++ /dev/null
@@ -1,41 +0,0 @@
-use bincode::{Decode, Encode};
-
-use karyons_net::{Addr, Port};
-
-/// Specifies the size of the key, in bytes.
-pub const KEY_SIZE: usize = 32;
-
-/// An Entry represents a peer in the routing table.
-#[derive(Encode, Decode, Clone, Debug)]
-pub struct Entry {
- /// The unique key identifying the peer.
- pub key: Key,
- /// The IP address of the peer.
- pub addr: Addr,
- /// TCP port
- pub port: Port,
- /// UDP/TCP port
- pub discovery_port: Port,
-}
-
-impl PartialEq for Entry {
- fn eq(&self, other: &Self) -> bool {
- // XXX this should also compare both addresses (the self.addr == other.addr)
- self.key == other.key
- }
-}
-
-/// The unique key identifying the peer.
-pub type Key = [u8; KEY_SIZE];
-
-/// Calculates the XOR distance between two provided keys.
-///
-/// The XOR distance is a metric used in Kademlia to measure the closeness
-/// of keys.
-pub fn xor_distance(key: &Key, other: &Key) -> Key {
- let mut res = [0; 32];
- for (i, (k, o)) in key.iter().zip(other.iter()).enumerate() {
- res[i] = k ^ o;
- }
- res
-}