mirror of
https://github.com/cwinfo/yggdrasil-go.git
synced 2024-11-22 15:20:30 +00:00
don't update recv time for known nodes that ping us or known peers
This commit is contained in:
parent
c0531627bc
commit
671c7f2a47
@ -180,7 +180,7 @@ func (t *dht) handleReq(req *dhtReq) {
|
||||
coords: req.Coords,
|
||||
}
|
||||
imp := t.getImportant()
|
||||
if t.isImportant(&info, imp) {
|
||||
if _, isIn := t.table[*info.getNodeID()]; !isIn || t.isImportant(&info, imp) {
|
||||
t.insert(&info)
|
||||
}
|
||||
}
|
||||
|
@ -91,8 +91,12 @@ func (r *router) mainLoop() {
|
||||
case p := <-r.send:
|
||||
r.sendPacket(p)
|
||||
case info := <-r.core.dht.peers:
|
||||
now := time.Now()
|
||||
oldInfo, isIn := r.core.dht.table[*info.getNodeID()]
|
||||
r.core.dht.insert(info)
|
||||
info.throttle = 0
|
||||
if isIn && now.Sub(oldInfo.recv) < 45*time.Second {
|
||||
info.recv = oldInfo.recv
|
||||
}
|
||||
case <-r.reset:
|
||||
r.core.sessions.resetInits()
|
||||
r.core.dht.reset()
|
||||
|
Loading…
Reference in New Issue
Block a user