1
0
mirror of https://github.com/redis/node-redis.git synced 2025-08-06 02:15:48 +03:00

zero-length bulk data + int optimization

This commit is contained in:
Tim-Smart
2010-09-18 14:11:27 +12:00
parent 8e7f1cc1e7
commit 064d160333

View File

@@ -68,7 +68,7 @@ RedisReplyParser.prototype.execute = function (incoming_buf) {
break;
case "integer line":
if (incoming_buf[pos] === 13) {
this.send_reply(parseInt(small_toString(this.return_buffer), 10));
this.send_reply(+small_toString(this.return_buffer));
this.state = "final lf";
} else {
this.return_buffer[this.return_buffer.end] = incoming_buf[pos];
@@ -114,7 +114,7 @@ RedisReplyParser.prototype.execute = function (incoming_buf) {
break;
case "multi bulk count lf":
if (incoming_buf[pos] === 10) { // \n
this.multi_bulk_length = parseInt(small_toString(this.tmp_buffer), 10);
this.multi_bulk_length = +small_toString(this.tmp_buffer);
this.multi_bulk_replies = [];
this.state = "type";
if (0 == this.multi_bulk_length) {
@@ -138,10 +138,13 @@ RedisReplyParser.prototype.execute = function (incoming_buf) {
break;
case "bulk lf":
if (incoming_buf[pos] === 10) { // \n
this.bulk_length = parseInt(small_toString(this.tmp_buffer), 10);
this.bulk_length = +small_toString(this.tmp_buffer);
if (this.bulk_length === -1) {
this.send_reply(null);
this.state = "type";
} else if (this.bulk_length === 0) {
this.send_reply(new Buffer(""));
this.state = "final cr";
} else {
this.state = "bulk data";
if (this.bulk_length > this.return_buffer.length) {