diff options
author | Jimmy Wärting <jimmy@warting.se> | 2021-03-20 21:22:21 +0300 |
---|---|---|
committer | Jimmy Wärting <jimmy@warting.se> | 2021-03-20 21:22:21 +0300 |
commit | ee833d0bea0bed55721e7da78e90afda972796b7 (patch) | |
tree | c5fcc91ff7698ed8bd342331f113e84a5bc59ebd /lib/server.js | |
parent | e669ab2cb0488b042ff4bca5ab1549f636f6787d (diff) |
Made two array into a set
Diffstat (limited to 'lib/server.js')
-rw-r--r-- | lib/server.js | 19 |
1 files changed, 9 insertions, 10 deletions
diff --git a/lib/server.js b/lib/server.js index 85b4573..755f700 100644 --- a/lib/server.js +++ b/lib/server.js @@ -1,4 +1,3 @@ -const arrayRemove = require('unordered-array-remove') const escapeHtml = require('escape-html') const http = require('http') const mime = require('mime') @@ -10,8 +9,8 @@ function Server (torrent, opts = {}) { const server = http.createServer() if (!opts.origin) opts.origin = '*' // allow all origins by default - const sockets = [] - const pendingReady = [] + const sockets = new Set() + const pendingReady = new Set() let closed = false const _listen = server.listen const _close = server.close @@ -27,10 +26,10 @@ function Server (torrent, opts = {}) { closed = true server.removeListener('connection', onConnection) server.removeListener('request', onRequest) - while (pendingReady.length > 0) { - const onReady = pendingReady.pop() + pendingReady.forEach(onReady => { torrent.removeListener('ready', onReady) - } + }) + pendingReady.clear() _close.call(server, cb) } @@ -63,9 +62,9 @@ function Server (torrent, opts = {}) { function onConnection (socket) { socket.setTimeout(36000000) - sockets.push(socket) + sockets.add(socket) socket.once('close', () => { - arrayRemove(sockets, sockets.indexOf(socket)) + sockets.delete(socket) }) } @@ -106,7 +105,7 @@ function Server (torrent, opts = {}) { if (torrent.ready) { return handleRequest() } else { - pendingReady.push(onReady) + pendingReady.add(onReady) torrent.once('ready', onReady) return } @@ -129,7 +128,7 @@ function Server (torrent, opts = {}) { } function onReady () { - arrayRemove(pendingReady, pendingReady.indexOf(onReady)) + pendingReady.delete(onReady) handleRequest() } |