diff options
Diffstat (limited to 'frontend-old/node_modules/websocket-extensions/lib/pipeline/pledge.js')
| -rw-r--r-- | frontend-old/node_modules/websocket-extensions/lib/pipeline/pledge.js | 37 |
1 files changed, 0 insertions, 37 deletions
diff --git a/frontend-old/node_modules/websocket-extensions/lib/pipeline/pledge.js b/frontend-old/node_modules/websocket-extensions/lib/pipeline/pledge.js deleted file mode 100644 index 8a1f45d..0000000 --- a/frontend-old/node_modules/websocket-extensions/lib/pipeline/pledge.js +++ /dev/null @@ -1,37 +0,0 @@ -'use strict'; - -var RingBuffer = require('./ring_buffer'); - -var Pledge = function() { - this._complete = false; - this._callbacks = new RingBuffer(Pledge.QUEUE_SIZE); -}; - -Pledge.QUEUE_SIZE = 4; - -Pledge.all = function(list) { - var pledge = new Pledge(), - pending = list.length, - n = pending; - - if (pending === 0) pledge.done(); - - while (n--) list[n].then(function() { - pending -= 1; - if (pending === 0) pledge.done(); - }); - return pledge; -}; - -Pledge.prototype.then = function(callback) { - if (this._complete) callback(); - else this._callbacks.push(callback); -}; - -Pledge.prototype.done = function() { - this._complete = true; - var callbacks = this._callbacks, callback; - while (callback = callbacks.shift()) callback(); -}; - -module.exports = Pledge; |
