5
0
mirror of https://github.com/cwinfo/yggdrasil-go.git synced 2024-11-14 16:10:29 +00:00

Merge pull request #64 from Arceliar/dht

Limit DHT pings to 1/min per node
This commit is contained in:
Neil Alexander 2018-03-17 20:46:47 +00:00 committed by GitHub
commit 48ced483d6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -451,7 +451,7 @@ func (t *dht) doMaintenance() {
} }
} }
} }
if oldest != nil { if oldest != nil && time.Since(oldest.recv) > time.Minute {
t.addToMill(oldest, nil) t.addToMill(oldest, nil)
} // if the DHT isn't empty } // if the DHT isn't empty
// Refresh buckets // Refresh buckets
@ -460,9 +460,11 @@ func (t *dht) doMaintenance() {
} }
target := t.getTarget(t.offset) target := t.getTarget(t.offset)
for _, info := range t.lookup(target) { for _, info := range t.lookup(target) {
if time.Since(info.recv) > time.Minute {
t.addToMill(info, target) t.addToMill(info, target)
break break
} }
}
t.offset++ t.offset++
} }
if len(t.rumorMill) > 0 { if len(t.rumorMill) > 0 {