plugeth/p2p
timcooijmans 7b5107b73f
p2p/discover: avoid dropping unverified nodes when table is almost empty (#21396)
This change improves discovery behavior in small networks. Very small
networks would often fail to bootstrap because all member nodes were
dropping table content due to findnode failure. The check is now changed
to avoid dropping nodes on findnode failure when their bucket is almost
empty. It also relaxes the liveness check requirement for FINDNODE/v4
response nodes, returning unverified nodes as results when there aren't
any verified nodes yet.

The "findnode failed" log now reports whether the node was dropped
instead of the number of results. The value of the "results" was
always zero by definition.

Co-authored-by: Felix Lange <fjl@twurst.com>
2020-08-24 14:42:39 +02:00
..
discover p2p/discover: avoid dropping unverified nodes when table is almost empty (#21396) 2020-08-24 14:42:39 +02:00
discv5 p2p/discv5: unset pingEcho on pong timeout (#21324) 2020-07-13 11:20:47 +02:00
dnsdisc
enode
enr
nat p2p/nat: limit UPNP request concurrency (#21390) 2020-08-05 09:51:37 +02:00
netutil
nodestate
simulations node: refactor package node (#21105) 2020-08-03 19:40:46 +02:00
dial_test.go
dial.go
message_test.go
message.go
metrics.go
peer_error.go
peer_test.go
peer.go
protocol.go
rlpx_test.go
rlpx.go
server_test.go
server.go
util_test.go
util.go