2014-02-03 12:24:19 +00:00
|
|
|
'use strict'
|
|
|
|
|
|
|
|
var zlib = require('zlib');
|
|
|
|
|
|
|
|
exports.async = true;
|
|
|
|
|
2014-02-18 00:32:01 +00:00
|
|
|
exports.run = function(data, level, callback) {
|
2014-02-03 20:54:27 +00:00
|
|
|
//zlib.deflate(new Buffer(data), callback);
|
|
|
|
|
|
|
|
var zlibStream = zlib.createDeflate({
|
2014-02-18 00:32:01 +00:00
|
|
|
/*chunkSize: 128*1024,*/
|
|
|
|
level: level
|
2014-02-03 20:54:27 +00:00
|
|
|
});
|
|
|
|
var buffers = [], nread = 0;
|
|
|
|
|
|
|
|
|
|
|
|
zlibStream.on('error', function(err) {
|
|
|
|
zlibStream.removeAllListeners();
|
|
|
|
zlibStream=null;
|
|
|
|
callback(err);
|
|
|
|
});
|
|
|
|
|
|
|
|
zlibStream.on('data', function(chunk) {
|
|
|
|
buffers.push(chunk);
|
|
|
|
nread += chunk.length;
|
|
|
|
});
|
|
|
|
|
|
|
|
zlibStream.on('end', function() {
|
|
|
|
zlibStream.removeAllListeners();
|
|
|
|
zlibStream=null;
|
|
|
|
|
|
|
|
var buffer = Buffer.concat(buffers);
|
|
|
|
|
|
|
|
callback(null);
|
|
|
|
});
|
|
|
|
|
2014-02-27 08:00:58 +00:00
|
|
|
zlibStream.write(data.buffer);
|
2014-02-03 20:54:27 +00:00
|
|
|
zlibStream.end();
|
2014-02-03 12:24:19 +00:00
|
|
|
}
|