p2p/discovery: fix a cornercase loop if no seeds or bootnodes are known

pull/1094/merge
Péter Szilágyi 10 years ago committed by Felix Lange
parent f539ed1e66
commit 3630432dfb
  1. 8
      p2p/discover/table.go

@ -278,12 +278,16 @@ func (tab *Table) refresh() {
for _, seed := range seeds { for _, seed := range seeds {
glog.V(logger.Debug).Infoln("Seeding network with", seed) glog.V(logger.Debug).Infoln("Seeding network with", seed)
} }
peers := append(tab.nursery, seeds...)
// Bootstrap the table with a self lookup // Bootstrap the table with a self lookup
all := tab.bondall(append(tab.nursery, seeds...)) if len(peers) > 0 {
tab.mutex.Lock() tab.mutex.Lock()
tab.add(all) tab.add(peers)
tab.mutex.Unlock() tab.mutex.Unlock()
tab.Lookup(tab.self.ID) tab.Lookup(tab.self.ID)
}
// TODO: the Kademlia paper says that we're supposed to perform // TODO: the Kademlia paper says that we're supposed to perform
// random lookups in all buckets further away than our closest neighbor. // random lookups in all buckets further away than our closest neighbor.
} }

Loading…
Cancel
Save