Commit 82f0bd90 authored by Felix Lange's avatar Felix Lange

p2p/discover: code review fixes

parent d0a2e655
......@@ -18,6 +18,8 @@ import (
"github.com/ethereum/go-ethereum/rlp"
)
const nodeIDBits = 512
// Node represents a host on the network.
type Node struct {
ID NodeID
......@@ -135,7 +137,7 @@ func (n *Node) DecodeRLP(s *rlp.Stream) (err error) {
// NodeID is a unique identifier for each node.
// The node identifier is a marshaled elliptic curve public key.
type NodeID [512 / 8]byte
type NodeID [nodeIDBits / 8]byte
// NodeID prints as a long hexadecimal number.
func (n NodeID) String() string {
......
......@@ -14,9 +14,9 @@ import (
)
const (
alpha = 3 // Kademlia concurrency factor
bucketSize = 16 // Kademlia bucket size
nBuckets = len(NodeID{})*8 + 1 // Number of buckets
alpha = 3 // Kademlia concurrency factor
bucketSize = 16 // Kademlia bucket size
nBuckets = nodeIDBits + 1 // Number of buckets
)
type Table struct {
......@@ -100,7 +100,7 @@ func (tab *Table) Lookup(target NodeID) []*Node {
tab.mutex.Unlock()
for {
// ask the closest nodes that we haven't asked yet
// ask the alpha closest nodes that we haven't asked yet
for i := 0; i < len(result.entries) && pendingQueries < alpha; i++ {
n := result.entries[i]
if !asked[n.ID] {
......
......@@ -28,7 +28,7 @@ var (
const (
respTimeout = 300 * time.Millisecond
sendTimeout = 300 * time.Millisecond
expiration = 3 * time.Second
expiration = 20 * time.Second
refreshInterval = 1 * time.Hour
)
......@@ -185,7 +185,7 @@ func (t *udp) findnode(to *Node, target NodeID) ([]*Node, error) {
nodes = append(nodes, n)
}
}
return nreceived == bucketSize
return nreceived >= bucketSize
})
t.send(to, findnodePacket, findnode{
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment