lib/parser.js
function decreaseBufferPool () {
  if (bufferPool.length > 50 * 1024) {
    if (counter === 1 || notDecreased > counter * 2) {
      const minSliceLen = Math.floor(bufferPool.length / 10)
      const sliceLength = minSliceLen < bufferOffset
        ? bufferOffset
        : minSliceLen
      bufferOffset = 0
      bufferPool = bufferPool.slice(sliceLength, bufferPool.length)
    } else {
      notDecreased++
      counter--
    }
  } else {
    clearInterval(interval)
    counter = 0
    notDecreased = 0
    interval = null
  }
}
function decreaseBufferPool () {
  if (bufferPool.length > 50 * 1024) {
    if (counter === 1 || notDecreased > counter * 2) {
      const minSliceLen = Math.floor(bufferPool.length / 10)
      const sliceLength = minSliceLen < bufferOffset
        ? bufferOffset
        : minSliceLen
      bufferOffset = 0
      bufferPool = bufferPool.slice(sliceLength, bufferPool.length)
    } else {
      notDecreased++
      counter--
    }
  } else {
    clearInterval(interval)
    counter = 0
    notDecreased = 0
    interval = null
  }
}
function decreaseBufferPool ( ) { if ( bufferPool . length > 50 * 1024 ) { if ( counter === 1 || notDecreased > counter * 2 ) { const minSliceLen = Math . floor ( bufferPool . length / 10 ) const sliceLength = minSliceLen < bufferOffset ? bufferOffset : minSliceLen bufferOffset = 0 bufferPool = bufferPool . slice ( sliceLength , bufferPool . length ) } else { notDecreased ++ counter -- } } else { clearInterval ( interval ) counter = 0 notDecreased = 0 interval = null } }
Decrease the bufferPool size over time

Balance between increasing and decreasing the bufferPool.
Decrease the bufferPool by 10% by removing the first 10% of the current pool.
@returns {undefined}
Decrease the bufferPool size over time