From dea7c8c128950a6345c7bc8fbda332e5312be7bb Mon Sep 17 00:00:00 2001 From: Dennis Schwerdel Date: Sun, 26 Jun 2016 19:19:19 +0200 Subject: [PATCH] Removed address remove code for prefix table --- src/ip.rs | 31 +++---------------------------- 1 file changed, 3 insertions(+), 28 deletions(-) diff --git a/src/ip.rs b/src/ip.rs index fdad922..80ef5bb 100644 --- a/src/ip.rs +++ b/src/ip.rs @@ -139,34 +139,9 @@ impl Table for RoutingTable { /// Removes an address from the map and returns whether something has been removed #[inline] - fn remove(&mut self, addr: &Address) -> bool { - let len = addr.len as usize; - let mut found = false; - let mut found_len: isize = -1; - for i in 0..len+1 { - if let Some(group) = self.0.get(&addr.data[0..len-i]) { - for entry in group { - let mut match_len = 0; - for j in 0..addr.len as usize { - let b = addr.data[j] ^ entry.bytes[j]; - if b == 0 { - match_len += 8; - } else { - match_len += b.leading_zeros(); - break; - } - } - if match_len as u8 >= entry.prefix_len && match_len as isize > found_len { - found = true; - found_len = match_len as isize; - } - } - } - } - if found { - self.0.remove(&addr.data[0..found_len as usize]); - } - found + fn remove(&mut self, _addr: &Address) -> bool { + // Do nothing, removing single address from prefix-based routing tables does not make sense + false } /// Removed all addresses associated with a certain peer