From ccf51ec337c08b9e10fb0c24c6d2783684e61e39 Mon Sep 17 00:00:00 2001 From: Justin Langston Date: Wed, 9 Aug 2017 13:24:24 -0400 Subject: [PATCH] catching the synced state better simpler connect handling --- lib/services/p2p/bcoin.js | 13 ++++++++----- lib/services/p2p/index.js | 21 ++++++++------------- 2 files changed, 16 insertions(+), 18 deletions(-) diff --git a/lib/services/p2p/bcoin.js b/lib/services/p2p/bcoin.js index a24d7375..fcff73c9 100644 --- a/lib/services/p2p/bcoin.js +++ b/lib/services/p2p/bcoin.js @@ -10,7 +10,7 @@ var Bcoin = function(options) { this.emitter = new EE(); }; -Bcoin.prototype.start = function(callback) { +Bcoin.prototype.start = function(done) { var self = this; self._bcoin = bcoin.fullnode(self._config); @@ -18,11 +18,14 @@ Bcoin.prototype.start = function(callback) { self._bcoin.open().then(function() { self._bcoin.connect().then(function() { - self._bcoin.pool.once('full', function() { - callback(); - }); - self._bcoin.startSync(); log.info('Waiting for Bcoin to sync'); + self._bcoin.startSync(); + if (self._bcoin.chain.synced){ + return done(); + } + self._bcoin.chain.once('full', function() { + done(); + }); }); }); }; diff --git a/lib/services/p2p/index.js b/lib/services/p2p/index.js index 4ad110bc..edaecfb0 100644 --- a/lib/services/p2p/index.js +++ b/lib/services/p2p/index.js @@ -171,17 +171,14 @@ P2P.prototype._broadcast = function(subscribers, name, entity) { P2P.prototype._connect = function() { var self = this; - self._connectCalled = self._connectCalled > 0 ? 2 : 1; - if(self._connectCalled > 1 || !self._bcoin) { - log.info('Connecting to p2p network.'); + log.info('Connecting to p2p network.'); + self._pool.connect(); + var retryInterval = setInterval(function() { self._pool.connect(); - var retryInterval = setInterval(function() { - self._pool.connect(); - }, 5000); - self._pool.once('peerready', function() { - clearInterval(retryInterval); - }); - } + }, 5000); + self._pool.once('peerready', function() { + clearInterval(retryInterval); + }); }; P2P.prototype._getBestHeight = function() { @@ -315,9 +312,7 @@ P2P.prototype._setListeners = function() { self._pool.on('peertx', self._onPeerTx.bind(self)); self._pool.on('peerblock', self._onPeerBlock.bind(self)); self._pool.on('peerheaders', self._onPeerHeaders.bind(self)); - if (!self._bcoin) { - self.node.on('ready', self._connect.bind(self)); - } + self.node.on('ready', self._connect.bind(self)); }; P2P.prototype._setResourceFilter = function(filter, resource) {