Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| dca0a77b0d | |||
| 6e314bde56 |
@@ -2,5 +2,6 @@
|
||||
.gitignore
|
||||
.npmignore
|
||||
.travis.yml
|
||||
examples
|
||||
node_modules
|
||||
spec
|
||||
|
||||
@@ -1,3 +1,8 @@
|
||||
### 0.1.3 / 2015-04-10
|
||||
|
||||
* Fix a race condition causing some fragments of deflate output to be dropped
|
||||
* Make sure to emit minimal output on all Node versions
|
||||
|
||||
### 0.1.2 / 2014-12-18
|
||||
|
||||
* Don't allow configure() to be called with unrecognized options
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,52 @@
|
||||
var fs = require('fs'),
|
||||
deflate = require('..');
|
||||
|
||||
var records = fs.readFileSync(__dirname + '/bad.out.log', 'utf8')
|
||||
.replace(/\s*$/g, '')
|
||||
.split(/\n/)
|
||||
.map(JSON.parse);
|
||||
|
||||
var client = deflate.createClientSession(),
|
||||
offer = client.generateOffer(),
|
||||
server = deflate.createServerSession([offer]),
|
||||
response = server.generateResponse(),
|
||||
compressed = [],
|
||||
size = [0, 0];
|
||||
|
||||
client.activate(response);
|
||||
|
||||
function compress(index) {
|
||||
var record = records[index];
|
||||
if (!record) {
|
||||
console.log(size, size[0] / size[1]);
|
||||
return decompress(0);
|
||||
}
|
||||
|
||||
var message = {data: new Buffer(record[3], 'base64')};
|
||||
size[0] += message.data.length;
|
||||
|
||||
server.processOutgoingMessage(message, function(error, message) {
|
||||
compressed[index] = message;
|
||||
size[1] += message.data.length;
|
||||
compress(index + 1);
|
||||
});
|
||||
}
|
||||
|
||||
function decompress(index) {
|
||||
var record = records[index];
|
||||
if (!record) return;
|
||||
|
||||
var payload = record[3],
|
||||
message = compressed[index];
|
||||
|
||||
client.processIncomingMessage(message, function(error, message) {
|
||||
var output = message.data.toString('base64');
|
||||
if (output !== payload) {
|
||||
console.error('Failed on', record, message);
|
||||
process.exit(1);
|
||||
}
|
||||
decompress(index + 1);
|
||||
});
|
||||
}
|
||||
|
||||
compress(0);
|
||||
+1
-1
@@ -5,7 +5,7 @@
|
||||
, "keywords" : ["websocket", "compression", "deflate"]
|
||||
, "license" : "MIT"
|
||||
|
||||
, "version" : "0.1.2"
|
||||
, "version" : "0.1.3"
|
||||
, "engines" : {"node": ">=0.6.0"}
|
||||
, "main" : "./lib/permessage_deflate"
|
||||
, "devDependencies" : {"jstest": ""}
|
||||
|
||||
Reference in New Issue
Block a user