diff options
author | Feross Aboukhadijeh <feross@feross.org> | 2016-03-29 06:28:32 +0300 |
---|---|---|
committer | Feross Aboukhadijeh <feross@feross.org> | 2016-03-29 06:28:32 +0300 |
commit | ca4576f377ce26b6c41b41d5caa9c6bc426e0142 (patch) | |
tree | d89877aeddc33317fc31c75e44dbb68ff9dce1e3 /lib/tcp-pool.js | |
parent | 1973007f7fa336774d20d7a0578894832c25d00b (diff) |
Perf: Use delete keyword to avoid tons of leftover keys in plain objects
Diffstat (limited to 'lib/tcp-pool.js')
-rw-r--r-- | lib/tcp-pool.js | 24 |
1 files changed, 8 insertions, 16 deletions
diff --git a/lib/tcp-pool.js b/lib/tcp-pool.js index bf75ebe..7e95f6c 100644 --- a/lib/tcp-pool.js +++ b/lib/tcp-pool.js @@ -64,12 +64,7 @@ TCPPool.removeSwarm = function (swarm, cb) { if (!pool) return cb() pool.removeSwarm(swarm) - var numSwarms = 0 - for (var infoHash in pool.swarms) { - var s = pool.swarms[infoHash] - if (s) numSwarms += 1 - } - if (numSwarms === 0) pool.destroy(cb) + if (Object.keys(pool.swarms).length === 0) pool.destroy(cb) else process.nextTick(cb) } @@ -85,7 +80,7 @@ TCPPool.removeSwarm = function (swarm, cb) { TCPPool.getDefaultListenPort = function (infoHash) { for (var port in tcpPools) { var pool = tcpPools[port] - if (pool && !pool.swarms[infoHash]) return pool.port + if (!pool.swarms[infoHash]) return pool.port } return 0 } @@ -125,7 +120,7 @@ TCPPool.prototype.addSwarm = function (swarm) { TCPPool.prototype.removeSwarm = function (swarm) { var self = this debug('remove swarm %s from tcp pool %s', swarm.infoHash, self.port) - self.swarms[swarm.infoHash] = null + delete self.swarms[swarm.infoHash] } /** @@ -144,7 +139,7 @@ TCPPool.prototype.destroy = function (cb) { conn.destroy() }) - tcpPools[self.port] = null + delete tcpPools[self.port] try { self.server.close(cb) @@ -165,7 +160,7 @@ TCPPool.prototype._onListening = function () { if (port !== self.port) { // `port` was 0 when `listen` was called; update to the port that node selected - tcpPools[self.port] = null + delete tcpPools[self.port] self.port = port tcpPools[self.port] = self } @@ -173,8 +168,7 @@ TCPPool.prototype._onListening = function () { self.listening = true for (var infoHash in self.swarms) { - var swarm = self.swarms[infoHash] - if (swarm) swarm._onListening(self.port) + self.swarms[infoHash]._onListening(self.port) } } @@ -226,10 +220,8 @@ TCPPool.prototype._onError = function (err) { self.destroy() for (var infoHash in self.swarms) { var swarm = self.swarms[infoHash] - if (swarm) { - self.removeSwarm(swarm) - swarm._onError(err) - } + self.removeSwarm(swarm) + swarm._onError(err) } } |