From a57ff6e43021aebf0fd1fec1090175b32a91d591 Mon Sep 17 00:00:00 2001 From: Alexey Kasyanchuk Date: Sat, 17 Feb 2018 01:23:53 +0300 Subject: [PATCH] fix(p2p): compact convert ip's --- src/background/bt/spider.js | 5 ++--- src/background/bt/table.js | 9 +++++++++ 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/src/background/bt/spider.js b/src/background/bt/spider.js index 4f0bcdd..5eee04f 100644 --- a/src/background/bt/spider.js +++ b/src/background/bt/spider.js @@ -163,9 +163,8 @@ class Spider extends Emiter { if(!peers || peers.length == 0) return; - const nodes = Node.decodeNodes(peers) - console.log('peers', peers, nodes) - this.emit('peer', nodes) + const ips = Node.decodeCompactIP(peers) + this.emit('peer', ips) } onFindNodeRequest(message, address) { diff --git a/src/background/bt/table.js b/src/background/bt/table.js index c3ac200..4cdebaa 100644 --- a/src/background/bt/table.js +++ b/src/background/bt/table.js @@ -31,6 +31,15 @@ class Node { return nodes } + static decodeCompactIP(data) { + return data.map((compact) => { + return { + address: `${compact[0]}.${compact[1]}.${compact[2]}.${compact[3]}`, + port: compact.readUInt16BE(4) + } + }) + } + static encodeIP(ip) { return Buffer.from(ip.split('.').map((i)=>parseInt(i))) }