p2p/discover: using slices.Contains (#29395)

This commit is contained in:
cui 2024-04-04 18:24:49 +08:00 committed by GitHub
parent 8bd0334168
commit 9dfe728909
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 3 additions and 11 deletions

View File

@ -285,7 +285,7 @@ func (tn *preminedTestnet) neighborsAtDistances(base *enode.Node, distances []ui
for i := range lookupTestnet.dists[d] {
n := lookupTestnet.node(d, i)
d := enode.LogDist(base.ID(), n.ID())
if containsUint(uint(d), distances) {
if slices.Contains(distances, uint(d)) {
result = append(result, n)
if len(result) >= elems {
return result

View File

@ -25,6 +25,7 @@ import (
"fmt"
"io"
"net"
"slices"
"sync"
"time"
@ -437,7 +438,7 @@ func (t *UDPv5) verifyResponseNode(c *callV5, r *enr.Record, distances []uint, s
}
if distances != nil {
nd := enode.LogDist(c.id, node.ID())
if !containsUint(uint(nd), distances) {
if !slices.Contains(distances, uint(nd)) {
return nil, errors.New("does not match any requested distance")
}
}
@ -448,15 +449,6 @@ func (t *UDPv5) verifyResponseNode(c *callV5, r *enr.Record, distances []uint, s
return node, nil
}
func containsUint(x uint, xs []uint) bool {
for _, v := range xs {
if x == v {
return true
}
}
return false
}
// callToNode sends the given call and sets up a handler for response packets (of message
// type responseType). Responses are dispatched to the call's response channel.
func (t *UDPv5) callToNode(n *enode.Node, responseType byte, req v5wire.Packet) *callV5 {