From 24779fb39881c16c099b81599ba6509f7cb31a40 Mon Sep 17 00:00:00 2001 From: Christopher Jeffrey Date: Thu, 15 May 2014 01:14:06 -0500 Subject: [PATCH] peer/pool: emit `addr` event on pool. refactor `addr` handler. Signed-off-by: Fedor Indutny --- lib/bcoin/peer.js | 11 ++++++----- lib/bcoin/pool.js | 4 ++++ 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/lib/bcoin/peer.js b/lib/bcoin/peer.js index 64781921..73f64e5e 100644 --- a/lib/bcoin/peer.js +++ b/lib/bcoin/peer.js @@ -327,6 +327,10 @@ Peer.prototype._handleAddr = function handleAddr(addr) { // ipv4 - BE ipv4 = utils.readU32BE(addr, 24); + ipv4 = ((ipv4 >> 24) & 0xff) + '.' + + ((ipv4 >> 16) & 0xff) + '.' + + ((ipv4 >> 8) & 0xff) + '.' + + ((ipv4 >> 0) & 0xff); // ipv6 - BE ipv6 = utils.toHex(addr.slice(12, 24)); @@ -338,14 +342,11 @@ Peer.prototype._handleAddr = function handleAddr(addr) { this.emit('addr', { date: new Date(date * 1000), network: network, + address: ipv4, ipv4: ipv4, ipv6: ipv6, port: port, - host: ((ipv4 >> 24) & 0xff) + '.' + - ((ipv4 >> 16) & 0xff) + '.' + - ((ipv4 >> 8) & 0xff) + '.' + - ((ipv4 >> 0) & 0xff) + ':' + - port, + host: ipv4 + ':' + port, host6: '[' + ipv6 + ']:' + port }); diff --git a/lib/bcoin/pool.js b/lib/bcoin/pool.js index bc98aa3d..f9dcd202 100644 --- a/lib/bcoin/pool.js +++ b/lib/bcoin/pool.js @@ -310,6 +310,10 @@ Pool.prototype._addPeer = function _addPeer(backoff) { self._response(tx); self.emit('tx', tx); }); + + peer.on('addr', function(addr) { + self.emit('addr', addr); + }); }; Pool.prototype._removePeer = function _removePeer(peer) {