Comparing version 4.3.1 to 5.0.0
16
index.js
@@ -77,3 +77,8 @@ var socket = require('k-rpc-socket') | ||
function addNode (data, peer) { | ||
if (data && isNodeId(data.id, self._idLength) && !self.nodes.get(data.id) && !equals(data.id, self.id)) { | ||
if (data && isNodeId(data.id, self._idLength) && !equals(data.id, self.id)) { | ||
var old = self.nodes.get(data.id) | ||
if (old) { | ||
old.seen = Date.now() | ||
return | ||
} | ||
self._addNode({ | ||
@@ -83,3 +88,4 @@ id: data.id, | ||
port: peer.port, | ||
distance: 0 | ||
distance: 0, | ||
seen: Date.now() | ||
}) | ||
@@ -169,3 +175,7 @@ } | ||
function onping (older, newer) { | ||
self.emit('ping', older, newer) | ||
self.emit('ping', older, function swap (deadNode) { | ||
if (!deadNode) return | ||
if (deadNode.id) self.nodes.remove(deadNode.id) | ||
self._addNode(newer) | ||
}) | ||
} | ||
@@ -172,0 +182,0 @@ } |
{ | ||
"name": "k-rpc", | ||
"version": "4.3.1", | ||
"version": "5.0.0", | ||
"description": "Low-level implementation of the k-rpc protocol used the BitTorrent DHT.", | ||
@@ -5,0 +5,0 @@ "main": "index.js", |
@@ -132,4 +132,9 @@ # k-rpc | ||
#### `rpc.on('ping', oldNodes, swapNew)` | ||
Emitted when the bucket is full. Try and `oldNodes` and if one | ||
of them fails call `swapNew` with that node to swap if for a newer one | ||
## License | ||
MIT |
18604
401
140