PATH:
opt
/
bitninja-threat-hunting
/
node_modules
/
ws
/
lib
'use strict'; const kDone = Symbol('kDone'); const kRun = Symbol('kRun'); /** * A very simple job queue with adjustable concurrency. Adapted from * https://github.com/STRML/async-limiter */ class Limiter { /** * Creates a new `Limiter`. * * @param {Number} [concurrency=Infinity] The maximum number of jobs allowed * to run concurrently */ constructor(concurrency) { this[kDone] = () => { this.pending--; this[kRun](); }; this.concurrency = concurrency || Infinity; this.jobs = []; this.pending = 0; } /** * Adds a job to the queue. * * @param {Function} job The job to run * @public */ add(job) { this.jobs.push(job); this[kRun](); } /** * Removes a job from the queue and runs it if possible. * * @private */ [kRun]() { if (this.pending === this.concurrency) return; if (this.jobs.length) { const job = this.jobs.shift(); this.pending++; job(this[kDone]); } } } module.exports = Limiter;
[-] permessage-deflate.js
[edit]
[+]
..
[-] websocket.js
[edit]
[-] limiter.js
[edit]
[-] validation.js
[edit]
[-] extension.js
[edit]
[-] subprotocol.js
[edit]
[-] receiver.js
[edit]
[-] sender.js
[edit]
[-] constants.js
[edit]
[-] websocket-server.js
[edit]
[-] buffer-util.js
[edit]
[-] event-target.js
[edit]
[-] stream.js
[edit]