Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 2 additions & 7 deletions src/ipmode.rs
Original file line number Diff line number Diff line change
Expand Up @@ -53,13 +53,8 @@ impl IpMode {
/// it simplifies the logic of matching socket_addr verification. For this we prevent
/// communications with Ipv4 addresses advertised in the Ipv6 field.
fn canonical_ipv6_enr_addr(enr: &Enr) -> Option<std::net::SocketAddrV6> {
enr.udp6_socket().and_then(|socket_addr| {
if to_ipv4_mapped(socket_addr.ip()).is_some() {
None
} else {
Some(socket_addr)
}
})
enr.udp6_socket()
.filter(|socket_addr| !to_ipv4_mapped(socket_addr.ip()).is_some())
}

match self {
Expand Down
25 changes: 11 additions & 14 deletions src/kbucket.rs
Original file line number Diff line number Diff line change
Expand Up @@ -850,21 +850,18 @@ where
None => self.iter = None,
},
None => {
if let Some(i) = self.buckets_iter.next() {
let bucket = &mut self.table.buckets[i.get()];
if let Some(applied) = bucket.apply_pending() {
self.table.applied_pending.push_back(applied)
}
let mut v = (self.fmap)(bucket);
v.sort_by(|a, b| {
self.target
.distance(a.as_ref())
.cmp(&self.target.distance(b.as_ref()))
});
self.iter = Some(v.into_iter());
} else {
return None;
let i = self.buckets_iter.next()?;
let bucket = &mut self.table.buckets[i.get()];
if let Some(applied) = bucket.apply_pending() {
self.table.applied_pending.push_back(applied)
}
let mut v = (self.fmap)(bucket);
v.sort_by(|a, b| {
self.target
.distance(a.as_ref())
.cmp(&self.target.distance(b.as_ref()))
});
self.iter = Some(v.into_iter());
}
}
}
Expand Down
2 changes: 1 addition & 1 deletion src/kbucket/bucket.rs
Original file line number Diff line number Diff line change
Expand Up @@ -689,7 +689,7 @@ where
Some(fcp - 1)
} else {
// FCP is unchanged, unless there are no nodes following the removed node.
Some(fcp).filter(|_| fcp < self.nodes.len())
(fcp < self.nodes.len()).then_some(fcp)
}
});
}
Expand Down
18 changes: 4 additions & 14 deletions src/service.rs
Original file line number Diff line number Diff line change
Expand Up @@ -912,13 +912,8 @@ impl Service {
ip_votes.insert(node_id, socket);
let maybe_ip4_majority = ip_votes.majority().0;

let new_ip4 = maybe_ip4_majority.and_then(|majority| {
if Some(majority) != local_ip4_socket {
Some(majority)
} else {
None
}
});
let new_ip4 =
maybe_ip4_majority.filter(|&majority| Some(majority) != local_ip4_socket);

// If we have a new ipv4 majority
if let Some(new_ip4) = new_ip4 {
Expand Down Expand Up @@ -947,13 +942,8 @@ impl Service {
ip_votes.insert(node_id, socket);
let maybe_ip6_majority = ip_votes.majority().1;

let new_ip6 = maybe_ip6_majority.and_then(|majority| {
if Some(majority) != local_ip6_socket {
Some(majority)
} else {
None
}
});
let new_ip6 =
maybe_ip6_majority.filter(|&majority| Some(majority) != local_ip6_socket);
// Check if our advertised IPV6 address needs to be updated.
if let Some(new_ip6) = new_ip6 {
let new_ip6: SocketAddr = new_ip6.into();
Expand Down
Loading