diff --git a/lib/peer.js b/lib/peer.js index cfa0cc5e..aafbabeb 100644 --- a/lib/peer.js +++ b/lib/peer.js @@ -1,3 +1,4 @@ +var arrayRemove = require('unordered-array-remove') var debug = require('debug')('webtorrent:peer') var Wire = require('bittorrent-protocol') @@ -240,8 +241,7 @@ Peer.prototype.destroy = function (err) { self.wire = null if (swarm && wire) { - var index = swarm.wires.indexOf(wire) - if (index >= 0) swarm.wires.splice(index, 1) + arrayRemove(swarm.wires, swarm.wires.indexOf(wire)) } if (conn) { conn.on('error', noop) diff --git a/lib/server.js b/lib/server.js index 2cefdace..27a645e7 100644 --- a/lib/server.js +++ b/lib/server.js @@ -1,5 +1,6 @@ module.exports = Server +var arrayRemove = require('unordered-array-remove') var debug = require('debug')('webtorrent:server') var http = require('http') var mime = require('mime') @@ -17,8 +18,7 @@ function Server (torrent, opts) { socket.setTimeout(36000000) sockets.push(socket) socket.on('close', function () { - var index = sockets.indexOf(socket) - if (index >= 0) sockets.splice(index, 1) + arrayRemove(sockets, sockets.indexOf(socket)) }) }) diff --git a/lib/tcp-pool.js b/lib/tcp-pool.js index 02148e3f..bf75ebeb 100644 --- a/lib/tcp-pool.js +++ b/lib/tcp-pool.js @@ -1,5 +1,6 @@ module.exports = TCPPool +var arrayRemove = require('unordered-array-remove') var debug = require('debug')('webtorrent:tcp-pool') var net = require('net') // browser exclude @@ -198,7 +199,7 @@ TCPPool.prototype._onConnection = function (conn) { conn.once('close', removePendingConn) function removePendingConn () { - self.pendingConns.splice(self.pendingConns.indexOf(conn)) + arrayRemove(self.pendingConns, self.pendingConns.indexOf(conn)) } var peer = Peer.createTCPIncomingPeer(conn) diff --git a/package.json b/package.json index 97419561..ea02aad1 100644 --- a/package.json +++ b/package.json @@ -64,6 +64,7 @@ "torrent-discovery": "^7.0.0", "torrent-piece": "^1.0.0", "uniq": "^1.0.1", + "unordered-array-remove": "feross/unordered-array-remove", "ut_metadata": "^3.0.2", "ut_pex": "^1.0.1", "xtend": "^4.0.0",