Net Possibility Multiplier

    stream-catcher

    1.0.5 • Public • Published

    stream-catcher

    a streaming wrapper around lru-cache

    usage

     
    var streamCache = new StreamCatcher({lru-cache options});
     
    // ask for the data at `'key'` to be streamed to `writeStream`
    streamCache.write('key', writeStream, notCachedCallback);
     
    // ask to stream data to `'key'` from `readStream`
    streamCache.read('key', readStream);
     
     

    example

    stream files from disk to a http response, cached for next time.

     
    var streamCache = new StreamCatcher({
        max: 1024 * 100, // 100kb
        length: function(n){ 
            return n.length;
        }
    });
     
    var filePath = './foo/bar.txt';
     
    function getFile(filePath, response){
     
        streamCache.write(filePath, response, function(){
            // function called if the cache is empty.
            // If so, read into the cache
            streamCache.read(filePath, fs.createReadStream(filePath));
        });
     
    }
     
    // First call: Nms
    getFile(filePath, response);
     
    // Next call: <Nms
    getFile(filePath, response);
     
    // Time passes, file falls out of cache...
     
    // Next call ~ Nms
    getFile(filePath, response);
     

    Install

    npm i stream-catcher

    DownloadsWeekly Downloads

    1,314

    Version

    1.0.5

    License

    ISC

    Last publish

    Collaborators

    • korynunn
    • mauricebutler