aboutsummaryrefslogtreecommitdiffstats
path: root/p2p/discover
diff options
context:
space:
mode:
Diffstat (limited to 'p2p/discover')
-rw-r--r--p2p/discover/node.go15
-rw-r--r--p2p/discover/table.go1
-rw-r--r--p2p/discover/udp.go5
3 files changed, 3 insertions, 18 deletions
diff --git a/p2p/discover/node.go b/p2p/discover/node.go
index 99cb549a5..6662a6cb7 100644
--- a/p2p/discover/node.go
+++ b/p2p/discover/node.go
@@ -14,8 +14,6 @@ import (
"strconv"
"strings"
"sync"
- "sync/atomic"
- "time"
"github.com/ethereum/go-ethereum/crypto"
"github.com/ethereum/go-ethereum/crypto/secp256k1"
@@ -31,9 +29,6 @@ type Node struct {
DiscPort int // UDP listening port for discovery protocol
TCPPort int // TCP listening port for RLPx
-
- // this must be set/read using atomic load and store.
- activeStamp int64
}
func newNode(id NodeID, addr *net.UDPAddr) *Node {
@@ -50,16 +45,6 @@ func (n *Node) isValid() bool {
return !n.IP.IsMulticast() && !n.IP.IsUnspecified() && n.TCPPort != 0 && n.DiscPort != 0
}
-func (n *Node) bumpActive() {
- stamp := time.Now().Unix()
- atomic.StoreInt64(&n.activeStamp, stamp)
-}
-
-func (n *Node) active() time.Time {
- stamp := atomic.LoadInt64(&n.activeStamp)
- return time.Unix(stamp, 0)
-}
-
func (n *Node) addr() *net.UDPAddr {
return &net.UDPAddr{IP: n.IP, Port: n.DiscPort}
}
diff --git a/p2p/discover/table.go b/p2p/discover/table.go
index dbf86c084..e2e846456 100644
--- a/p2p/discover/table.go
+++ b/p2p/discover/table.go
@@ -326,7 +326,6 @@ outer:
func (b *bucket) bump(n *Node) bool {
for i := range b.entries {
if b.entries[i].ID == n.ID {
- n.bumpActive()
// move it to the front
copy(b.entries[1:], b.entries[:i])
b.entries[0] = n
diff --git a/p2p/discover/udp.go b/p2p/discover/udp.go
index d37260e7d..61a0abed9 100644
--- a/p2p/discover/udp.go
+++ b/p2p/discover/udp.go
@@ -267,11 +267,12 @@ func (t *udp) loop() {
defer timeout.Stop()
rearmTimeout := func() {
- if len(pending) == 0 || nextDeadline == pending[0].deadline {
+ now := time.Now()
+ if len(pending) == 0 || now.Before(nextDeadline) {
return
}
nextDeadline = pending[0].deadline
- timeout.Reset(nextDeadline.Sub(time.Now()))
+ timeout.Reset(nextDeadline.Sub(now))
}
for {