async connect to bootstrappers

This commit is contained in:
少爷 2020-11-10 17:23:46 +08:00
parent 3ec25cbece
commit de2637b4fa

View File

@ -191,11 +191,19 @@ func (pmgr *PeerMgr) doExpand(ctx context.Context) {
}
log.Info("connecting to bootstrap peers")
wg := sync.WaitGroup{}
for _, bsp := range pmgr.bootstrappers {
if err := pmgr.h.Connect(ctx, bsp); err != nil {
log.Warnf("failed to connect to bootstrap peer: %s", err)
}
wg.Add(1)
go func(bsp peer.AddrInfo) {
defer wg.Done()
ctx, cancel := context.WithTimeout(ctx, 15*time.Second)
defer cancel()
if err := pmgr.h.Connect(ctx, bsp); err != nil {
log.Warnf("failed to connect to bootstrap peer: %s", err)
}
}(bsp)
}
wg.Wait()
return
}