2 Commits

Author SHA1 Message Date
James Coglan dca0a77b0d Bump version to 0.1.3. 2015-04-10 20:46:44 +01:00
James Coglan 6e314bde56 Stash the scripts we built for #4 in the examples directory. 2015-04-10 20:46:21 +01:00
5 changed files with 5868 additions and 1 deletions
+1
View File
@@ -2,5 +2,6 @@
.gitignore
.npmignore
.travis.yml
examples
node_modules
spec
+5
View File
@@ -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
+5809
View File
File diff suppressed because it is too large Load Diff
+52
View File
@@ -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
View File
@@ -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": ""}