node: do not listen until after wallet has loaded.

This commit is contained in:
Christopher Jeffrey 2016-10-24 19:37:07 -07:00
parent c9b038d4e0
commit 48c65bb58b
No known key found for this signature in database
GPG Key ID: 8962AB9DE6666BBD
2 changed files with 7 additions and 9 deletions

View File

@ -315,11 +315,6 @@ Pool.prototype._open = co(function* _open() {
this.logger.info('Identity public key: %s.', key.toString('hex')); this.logger.info('Identity public key: %s.', key.toString('hex'));
this.logger.info('Identity address: %s.', BIP150.address(key)); this.logger.info('Identity address: %s.', BIP150.address(key));
} }
if (!this.options.listen)
return;
yield this.listen();
}); });
/** /**
@ -406,7 +401,8 @@ Pool.prototype.listen = function listen() {
var self = this; var self = this;
var net; var net;
assert(!this.server, 'Server already listening.'); if (this.server)
return Promise.resolve();
if (this.createServer) { if (this.createServer) {
this.server = this.createServer(); this.server = this.createServer();
@ -442,10 +438,10 @@ Pool.prototype.unlisten = function unlisten() {
var self = this; var self = this;
if (utils.isBrowser) if (utils.isBrowser)
return; return Promise.resolve();
if (!this.server) if (!this.server)
return; return Promise.resolve();
return new Promise(function(resolve, reject) { return new Promise(function(resolve, reject) {
self.server.close(co.wrap(resolve, reject)); self.server.close(co.wrap(resolve, reject));

View File

@ -124,7 +124,6 @@ function FullNode(options) {
preferredSeed: this.options.preferredSeed, preferredSeed: this.options.preferredSeed,
ignoreDiscovery: this.options.ignoreDiscovery, ignoreDiscovery: this.options.ignoreDiscovery,
port: this.options.port, port: this.options.port,
listen: this.options.listen,
spv: false spv: false
}); });
@ -246,6 +245,9 @@ FullNode.prototype._open = co(function* open() {
// Ensure primary wallet. // Ensure primary wallet.
yield this.openWallet(); yield this.openWallet();
if (this.options.listen)
yield this.pool.listen();
if (this.http) if (this.http)
yield this.http.open(); yield this.http.open();