stop using hostname getter.

This commit is contained in:
Christopher Jeffrey 2016-05-19 20:34:13 -07:00
parent 29cac3515a
commit 435f631f05
No known key found for this signature in database
GPG Key ID: 8962AB9DE6666BBD
3 changed files with 25 additions and 17 deletions

View File

@ -76,6 +76,7 @@ function Peer(pool, options) {
this.socket = null; this.socket = null;
this.host = null; this.host = null;
this.port = 0; this.port = 0;
this.hostname = null;
this._createSocket = this.options.createSocket; this._createSocket = this.options.createSocket;
this.priority = this.options.priority; this.priority = this.options.priority;
this.chain = this.pool.chain; this.chain = this.pool.chain;
@ -118,6 +119,8 @@ function Peer(pool, options) {
assert(typeof this.host === 'string'); assert(typeof this.host === 'string');
assert(typeof this.port === 'number'); assert(typeof this.port === 'number');
this.hostname = utils.stringifyHost(this);
if (!this.socket) if (!this.socket)
throw new Error('No socket'); throw new Error('No socket');
@ -214,7 +217,7 @@ Peer.prototype._init = function init() {
self.write(self.framer.getAddr()); self.write(self.framer.getAddr());
self.sendInv(self.pool.inv.list); self.sendInv(self.pool.inv.items);
if (self.pool.options.filterRate != null) { if (self.pool.options.filterRate != null) {
self.write(self.framer.feeFilter({ self.write(self.framer.feeFilter({
@ -1435,15 +1438,6 @@ Peer.prototype.sendReject = function sendReject(obj, code, reason, score) {
return this.pool.reject(this, obj, code, reason, score); return this.pool.reject(this, obj, code, reason, score);
}; };
Peer.prototype.__defineGetter__('hostname', function() {
var host = this.host;
if (utils.isIP(host) === 6)
host = '[' + host + ']';
return host + ':' + this.port;
});
/** /**
* Inspect the peer. * Inspect the peer.
* @returns {String} * @returns {String}

View File

@ -180,7 +180,7 @@ function Pool(options) {
// Currently broadcasted objects // Currently broadcasted objects
this.inv = { this.inv = {
list: [], items: [],
map: {}, map: {},
timeout: options.invTimeout || 60000, timeout: options.invTimeout || 60000,
interval: options.invInterval || 3000 interval: options.invInterval || 3000
@ -1674,7 +1674,7 @@ Pool.prototype.announce = function announce(msg) {
this.peers.load.sendInv(msg); this.peers.load.sendInv(msg);
for (i = 0; i < this.peers.regular.length; i++) for (i = 0; i < this.peers.regular.length; i++)
this.peers.all[i].sendInv(msg); this.peers.regular[i].sendInv(msg);
}; };
/** /**
@ -1694,7 +1694,7 @@ Pool.prototype.destroy = function destroy(callback) {
this.stopSync(); this.stopSync();
this.inv.list.slice().forEach(function(entry) { this.inv.items.slice().forEach(function(entry) {
entry.finish(); entry.finish();
}); });
@ -2177,7 +2177,7 @@ BroadcastItem.prototype.start = function start() {
assert(!this.pool.inv.map[this.hash], 'Already started.'); assert(!this.pool.inv.map[this.hash], 'Already started.');
this.pool.inv.map[this.hash] = this; this.pool.inv.map[this.hash] = this;
utils.binaryInsert(this.pool.inv.list, this, compare); utils.binaryInsert(this.pool.inv.items, this, compare);
this.refresh(); this.refresh();
@ -2201,8 +2201,7 @@ BroadcastItem.prototype.refresh = function refresh() {
self.finish(new Error('Timed out.')); self.finish(new Error('Timed out.'));
}, this.pool.inv.timeout); }, this.pool.inv.timeout);
for (i = 0; i < this.pool.peers.all.length; i++) this.pool.announce(this);
this.pool.peers.all[i].sendInv(this);
}; };
/** /**
@ -2220,7 +2219,7 @@ BroadcastItem.prototype.finish = function finish(err) {
this.timeout = null; this.timeout = null;
delete this.pool.inv.map[this.hash]; delete this.pool.inv.map[this.hash];
utils.binaryRemove(this.pool.inv.list, this, compare); utils.binaryRemove(this.pool.inv.items, this, compare);
for (i = 0; i < this.callback.length; i++) for (i = 0; i < this.callback.length; i++)
this.callback[i](err); this.callback[i](err);

View File

@ -865,6 +865,21 @@ utils.parseHost = function parseHost(addr) {
}; };
}; };
/**
* Stringify a host.
* @param {Seed} seed
* @returns {String}
*/
utils.stringifyHost = function stringifyHost(seed) {
var host = seed.host;
if (utils.isIP(host) === 6)
host = '[' + host + ']';
return host + ':' + seed.port;
};
/** /**
* Test whether a string is an IP address. * Test whether a string is an IP address.
* @param {String?} ip * @param {String?} ip