summaryrefslogtreecommitdiff
path: root/node_modules/dir-compare/src/fs/BufferPool.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/dir-compare/src/fs/BufferPool.js')
-rw-r--r--node_modules/dir-compare/src/fs/BufferPool.js46
1 files changed, 0 insertions, 46 deletions
diff --git a/node_modules/dir-compare/src/fs/BufferPool.js b/node_modules/dir-compare/src/fs/BufferPool.js
deleted file mode 100644
index 48febce..0000000
--- a/node_modules/dir-compare/src/fs/BufferPool.js
+++ /dev/null
@@ -1,46 +0,0 @@
-/**
- * Collection of buffers to be shared between async processes.
- * Avoids allocating buffers each time async process starts.
- * bufSize - size of each buffer
- * bufNo - number of buffers
- * Caller has to make sure no more than bufNo async processes run simultaneously.
- */
-function BufferPool(bufSize, bufNo) {
- var bufferPool = []
- for (var i = 0; i < bufNo; i++) {
- bufferPool.push({
- buf1: alloc(bufSize),
- buf2: alloc(bufSize),
- busy: false
- })
- }
-
- var allocateBuffers = function () {
- for (var j = 0; j < bufNo; j++) {
- var bufferPair = bufferPool[j]
- if (!bufferPair.busy) {
- bufferPair.busy = true
- return bufferPair
- }
- }
- throw new Error('Async buffer limit reached')
- }
-
- return {
- allocateBuffers: allocateBuffers,
- freeBuffers: freeBuffers
- }
-
- function freeBuffers(bufferPair) {
- bufferPair.busy = false
- }
-}
-
-function alloc(bufSize) {
- if (Buffer.alloc) {
- return Buffer.alloc(bufSize)
- }
- return new Buffer(bufSize)
-}
-
-module.exports = BufferPool