p2p/discovery: fix a cornercase loop if no seeds or bootnodes are known
This commit is contained in:
parent
f539ed1e66
commit
3630432dfb
@ -278,12 +278,16 @@ func (tab *Table) refresh() {
|
||||
for _, seed := range seeds {
|
||||
glog.V(logger.Debug).Infoln("Seeding network with", seed)
|
||||
}
|
||||
peers := append(tab.nursery, seeds...)
|
||||
|
||||
// Bootstrap the table with a self lookup
|
||||
all := tab.bondall(append(tab.nursery, seeds...))
|
||||
tab.mutex.Lock()
|
||||
tab.add(all)
|
||||
tab.mutex.Unlock()
|
||||
tab.Lookup(tab.self.ID)
|
||||
if len(peers) > 0 {
|
||||
tab.mutex.Lock()
|
||||
tab.add(peers)
|
||||
tab.mutex.Unlock()
|
||||
|
||||
tab.Lookup(tab.self.ID)
|
||||
}
|
||||
// TODO: the Kademlia paper says that we're supposed to perform
|
||||
// random lookups in all buckets further away than our closest neighbor.
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user