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

Merge pull request #825 from fintura/emitter

Remove event emitters from the parsers
This commit is contained in:
Ruben Bridgewater
2015-09-12 19:15:38 +02:00
4 changed files with 7 additions and 33 deletions

View File

@@ -301,18 +301,8 @@ RedisClient.prototype.init_parser = function () {
this.reply_parser = new this.parser_module.Parser({
return_buffers: self.options.return_buffers || self.options.detect_buffers || false
});
// "reply error" is an error sent back by Redis
this.reply_parser.on("reply error", function (reply) {
self.return_error(reply);
});
this.reply_parser.on("reply", function (reply) {
self.return_reply(reply);
});
// "error" is bad. Somehow the parser got confused. It'll try to reset and continue.
this.reply_parser.on("error", function (err) {
self.emit("error", new Error("Redis reply parser error: " + err.stack));
});
this.reply_parser.send_error = this.return_error.bind(self);
this.reply_parser.send_reply = this.return_reply.bind(self);
};
RedisClient.prototype.on_ready = function () {

View File

@@ -1,8 +1,6 @@
'use strict';
var events = require("events"),
util = require("util"),
hiredis = require("hiredis");
var hiredis = require("hiredis");
exports.name = "hiredis";
@@ -10,11 +8,8 @@ function HiredisReplyParser(options) {
this.name = exports.name;
this.options = options;
this.reset();
events.EventEmitter.call(this);
}
util.inherits(HiredisReplyParser, events.EventEmitter);
exports.Parser = HiredisReplyParser;
HiredisReplyParser.prototype.reset = function () {
@@ -34,9 +29,9 @@ HiredisReplyParser.prototype.execute = function (data) {
}
if (reply && reply.constructor === Error) {
this.emit("reply error", reply);
this.send_error(reply);
} else {
this.emit("reply", reply);
this.send_reply(reply);
}
}
};

View File

@@ -1,7 +1,6 @@
'use strict';
var events = require("events"),
util = require("util");
var util = require("util");
function Packet(type, size) {
this.type = type;
@@ -20,8 +19,6 @@ function ReplyParser(options) {
this._reply_type = null;
}
util.inherits(ReplyParser, events.EventEmitter);
exports.Parser = ReplyParser;
function IncompleteReadBuffer(message) {
@@ -286,11 +283,3 @@ ReplyParser.prototype._packetEndOffset = function () {
ReplyParser.prototype._bytesRemaining = function () {
return (this._buffer.length - this._offset) < 0 ? 0 : (this._buffer.length - this._offset);
};
ReplyParser.prototype.send_error = function (reply) {
this.emit("reply error", reply);
};
ReplyParser.prototype.send_reply = function (reply) {
this.emit("reply", reply);
};

View File

@@ -11,7 +11,7 @@ describe('javascript parser', function () {
assert.deepEqual(reply, [['a']], "Expecting multi-bulk reply of [['a']]");
reply_count++;
}
parser.on("reply", check_reply);
parser.send_reply = check_reply;
parser.execute(new Buffer('*1\r\n*1\r\n$1\r\na\r\n'));