pako/benchmark/implementations/deflate-zlib/index.js

40 wiersze
731 B
JavaScript

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
}