Merge pull request #170 from rom1504/fix_compressPacketBuffer

fix compressPacketBuffer
This commit is contained in:
Robin Lambertz 2015-05-18 18:36:51 +02:00
commit e2519f0b9f
2 changed files with 6 additions and 6 deletions

View File

@ -185,7 +185,7 @@ Client.prototype.write = function(packetId, params) {
compressPacketBuffer(buffer, finishWriting);
} else if(this.compressionThreshold >= -1) {
debug("New-styling packet");
newStylePacket(buffer, finishWriting);
newStylePacket(buffer, 0, finishWriting);
} else {
debug("Old-styling packet");
oldStylePacket(buffer, finishWriting);
@ -207,7 +207,7 @@ Client.prototype.writeRaw = function(buffer) {
if(this.compressionThreshold >= 0 && buffer.length >= this.compressionThreshold) {
compressPacketBuffer(buffer, finishWriting);
} else if(this.compressionThreshold >= -1) {
newStylePacket(buffer, finishWriting);
newStylePacket(buffer, 0, finishWriting);
} else {
oldStylePacket(buffer, finishWriting);
}

View File

@ -139,7 +139,7 @@ function compressPacketBuffer(buffer, callback) {
if(err)
callback(err);
else
newStylePacket(buffer, callback);
newStylePacket(buf, buffer.length, callback);
});
}
@ -150,13 +150,13 @@ function oldStylePacket(buffer, callback) {
callback(null, packet);
}
function newStylePacket(buffer, callback) {
var sizeOfDataLength = utils.varint[2](0);
function newStylePacket(buffer, dataSize, callback) {
var sizeOfDataLength = utils.varint[2](dataSize);
var sizeOfLength = utils.varint[2](buffer.length + sizeOfDataLength);
var size = sizeOfLength + sizeOfDataLength + buffer.length;
var packet = new Buffer(size);
var cursor = utils.varint[1](size - sizeOfLength, packet, 0);
cursor = utils.varint[1](0, packet, cursor);
cursor = utils.varint[1](dataSize, packet, cursor);
utils.buffer[1](buffer, packet, cursor);
callback(null, packet);
}