Merge pull request #203 from Arceliar/chord

Chord
This commit is contained in:
Neil Alexander 2018-11-14 20:13:42 +00:00 committed by GitHub
commit fc5a5830aa
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
9 changed files with 261 additions and 517 deletions

View file

@ -96,8 +96,12 @@ func (r *router) mainLoop() {
case p := <-r.send:
r.sendPacket(p)
case info := <-r.core.dht.peers:
r.core.dht.insertIfNew(info, false) // Insert as a normal node
r.core.dht.insertIfNew(info, true) // Insert as a peer
now := time.Now()
oldInfo, isIn := r.core.dht.table[*info.getNodeID()]
r.core.dht.insert(info)
if isIn && now.Sub(oldInfo.recv) < 45*time.Second {
info.recv = oldInfo.recv
}
case <-r.reset:
r.core.sessions.resetInits()
r.core.dht.reset()