summaryrefslogtreecommitdiff
path: root/client/node_modules/ws/lib/limiter.js
diff options
context:
space:
mode:
Diffstat (limited to 'client/node_modules/ws/lib/limiter.js')
-rw-r--r--client/node_modules/ws/lib/limiter.js55
1 files changed, 0 insertions, 55 deletions
diff --git a/client/node_modules/ws/lib/limiter.js b/client/node_modules/ws/lib/limiter.js
deleted file mode 100644
index 3fd3578..0000000
--- a/client/node_modules/ws/lib/limiter.js
+++ /dev/null
@@ -1,55 +0,0 @@
-'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;