Skip to content

Commit

Permalink
bootstrap: check for presence of bootstrap nodes earlier
Browse files Browse the repository at this point in the history
Rather than checking for the presence of bootstrap nodes on each iteration
of the deferred function, do the check at initialization time and report an
error immediately.

License: MIT
Signed-off-by: Daniel Mack <daniel@zonque.org>
  • Loading branch information
zonque committed Nov 12, 2018
1 parent a88cd82 commit 45b34e2
Showing 1 changed file with 6 additions and 5 deletions.
11 changes: 6 additions & 5 deletions core/bootstrap.go
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,12 @@ func Bootstrap(n *IpfsNode, cfg BootstrapConfig) (io.Closer, error) {
// make a signal to wait for one bootstrap round to complete.
doneWithRound := make(chan struct{})

if len(cfg.BootstrapPeers()) == 0 {
// We *need* to bootstrap but we have no bootstrap peers
// configured *at all*, inform the user.
log.Error("no bootstrap nodes configured: go-ipfs may have difficulty connecting to the network")
}

// the periodic bootstrap function -- the connection supervisor
periodic := func(worker goprocess.Process) {
ctx := procctx.OnClosingContext(worker)
Expand Down Expand Up @@ -138,11 +144,6 @@ func bootstrapRound(ctx context.Context, host host.Host, cfg BootstrapConfig) er
// if connected to all bootstrap peer candidates, exit
if len(notConnected) < 1 {
log.Debugf("%s no more bootstrap peers to create %d connections", id, numToDial)
if len(peers) == 0 {
// We *need* to bootstrap but we have no bootstrap peers
// configured *at all*, inform the user.
log.Error("no bootstrap nodes configured: go-ipfs may have difficulty connecting to the network")
}
return ErrNotEnoughBootstrapPeers
}

Expand Down

0 comments on commit 45b34e2

Please sign in to comment.