Comparing version 3.5.0 to 3.5.1
22
index.js
@@ -28,2 +28,3 @@ var socket = require('k-rpc-socket') | ||
this.concurrency = opts.concurrency || MAX_CONCURRENCY | ||
this.backgroundConcurrency = opts.backgroundConcurrency || (this.concurrency / 4) | 0 | ||
this.k = opts.k || K | ||
@@ -48,3 +49,3 @@ this.destroyed = false | ||
var next = self.pending.shift() | ||
self.socket.query(next[0], next[1], next[2]) | ||
self.query(next[0], next[1], next[2]) | ||
} | ||
@@ -111,9 +112,2 @@ } | ||
RPC.prototype.query = function (node, message, cb) { | ||
if (!message.a) message.a = {} | ||
if (!message.a.id) message.a.id = this.id | ||
if (!message.a.token && node.token) message.a.token = node.token | ||
this._query(node, message, cb) | ||
} | ||
RPC.prototype.queryAll = function (nodes, message, visit, cb) { | ||
@@ -131,4 +125,3 @@ if (!message.a) message.a = {} | ||
for (var i = 0; i < nodes.length; i++) { | ||
if (message.a && nodes[i].token) message.a.token = nodes[i].token | ||
this._query(nodes[i], message, done) | ||
this.query(nodes[i], message, done) | ||
} | ||
@@ -146,6 +139,9 @@ | ||
RPC.prototype._query = function (node, message, cb) { | ||
RPC.prototype.query = function (node, message, cb) { | ||
if (this.socket.inflight >= this.concurrency) { | ||
this.pending.push([node, message, cb]) | ||
} else { | ||
if (!message.a) message.a = {} | ||
if (!message.a.id) message.a.id = this.id | ||
if (node.token) message.a.token = node.token | ||
this.socket.query(node, message, cb) | ||
@@ -216,4 +212,4 @@ } | ||
var otherInflight = self.socket.inflight - pending | ||
if (background && self.socket.inflight >= (self.concurrency / 2) | 0 && otherInflight) return | ||
var otherInflight = self.pending.length + self.socket.inflight - pending | ||
if (background && self.socket.inflight >= self.backgroundConcurrency && otherInflight) return | ||
@@ -220,0 +216,0 @@ var closest = table.closest({id: target}, self.k) |
{ | ||
"name": "k-rpc", | ||
"version": "3.5.0", | ||
"version": "3.5.1", | ||
"description": "Low-level implementation of the k-rpc protocol used the BitTorrent DHT.", | ||
@@ -5,0 +5,0 @@ "main": "index.js", |
17372
383