Skip to content

Commit 5c9396f

Browse files
committed
Fixup for changes in tarantool header encoding
The code should follow plain msgpack decode instead of byte twiddling.
1 parent 8274c30 commit 5c9396f

File tree

2 files changed

+6
-5
lines changed

2 files changed

+6
-5
lines changed

lib/const.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ const RequestCode = {
2121
const KeysCode = {
2222
code: 0x00,
2323
sync: 0x01,
24+
schema_version: 0x05,
2425
space_id: 0x10,
2526
index_id: 0x11,
2627
limit: 0x12,

lib/parser.js

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,11 @@ var decoder = new Decoder();
88
exports._processResponse = function(buffer, offset){
99
offset=offset||0;
1010
decoder.buffer = buffer;
11-
decoder.offset = offset+23;
11+
var size = decoder.fetch();
12+
var header = decoder.fetch();
13+
var schemaId = header[tarantoolConstants.KeysCode.schema_version];
14+
var reqId = header[tarantoolConstants.KeysCode.code];
1215
var obj = decoder.fetch();
13-
var schemaId = buffer.readUInt32BE(offset+19);
14-
var reqId = buffer.readUInt32BE(offset+13);
15-
var code = buffer.readUInt32BE(offset+3);
1616
if (this.schemaId)
1717
{
1818
if (this.schemaId != schemaId)
@@ -35,7 +35,7 @@ exports._processResponse = function(buffer, offset){
3535
}
3636
}
3737
var dfd = task[2];
38-
var success = code == 0 ? true : false;
38+
var success = reqId == 0 ? true : false;
3939
if (success)
4040
dfd.resolve(_returnBool(task[0], obj));
4141
else

0 commit comments

Comments
 (0)