hostlist: refactor seed handling.

This commit is contained in:
Christopher Jeffrey 2017-01-15 12:48:46 -08:00
parent fcae101c0f
commit 6d1c918793
No known key found for this signature in database
GPG Key ID: 8962AB9DE6666BBD
3 changed files with 20 additions and 14 deletions

View File

@ -71,7 +71,6 @@ function Chain(options) {
this.network = this.options.network;
this.logger = this.options.logger;
this.db = new ChainDB(this);
this.locker = new Lock(true);
this.invalid = new LRU(100);
@ -88,6 +87,8 @@ function Chain(options) {
this.orphanCount = 0;
this.orphanSize = 0;
this.db = new ChainDB(this);
this._init();
}
@ -2304,10 +2305,10 @@ function ChainOptions(options) {
*/
ChainOptions.prototype.fromOptions = function fromOptions(options) {
if (options.network != null)
if (options.network != null) {
this.network = Network.get(options.network);
this.witness = this.network.witness;
this.witness = this.network.witness;
}
if (options.logger != null) {
assert(typeof options.logger === 'object');

View File

@ -555,8 +555,10 @@ HTTPServer.prototype._init = function _init() {
if (cmd.method !== 'getblocktemplate' && cmd.method !== 'getwork') {
this.logger.debug('Handling RPC call: %s.', cmd.method);
if (cmd.method !== 'submitblock')
if (cmd.method !== 'submitblock'
&& cmd.method !== 'getmemorypool') {
this.logger.debug(cmd.params);
}
}
try {

View File

@ -10,6 +10,7 @@ var assert = require('assert');
var util = require('../utils/util');
var IP = require('../utils/ip');
var co = require('../utils/co');
var Network = require('../protocol/network');
var NetAddress = require('../primitives/netaddress');
var List = require('../utils/list');
var murmur3 = require('../utils/murmur3');
@ -17,7 +18,6 @@ var StaticWriter = require('../utils/staticwriter');
var Map = require('../utils/map');
var common = require('./common');
var dns = require('./dns');
var Network = require('../protocol/network');
/**
* Host List
@ -35,6 +35,7 @@ function HostList(options) {
this.proxyServer = null;
this.resolve = dns.resolve;
this.banTime = common.BAN_TIME;
this.rawSeeds = this.network.seeds;
this.seeds = [];
this.banned = {};
@ -65,8 +66,13 @@ function HostList(options) {
*/
HostList.prototype._initOptions = function initOptions(options) {
if (options.network != null)
if (!options)
return;
if (options.network != null) {
this.network = Network.get(options.network);
this.rawSeeds = this.network.seeds;
}
if (options.logger != null) {
assert(typeof options.logger === 'object');
@ -93,8 +99,10 @@ HostList.prototype._initOptions = function initOptions(options) {
this.banTime = options.banTime;
}
if (options.seeds)
if (options.seeds) {
assert(Array.isArray(options.seeds));
this.rawSeeds = options.seeds;
}
};
/**
@ -113,12 +121,7 @@ HostList.prototype._init = function init(options) {
for (i = 0; i < this.maxBuckets; i++)
this.used.push(new List());
if (options.seeds) {
this.setSeeds(options.seeds);
return;
}
this.setSeeds(this.network.seeds);
this.setSeeds(this.rawSeeds);
};
/**