1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- var events = require("events"),
- util = require("../util"),
- hiredis = require("hiredis");
- exports.debug_mode = false;
- exports.name = "hiredis";
- 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 () {
- this.reader = new hiredis.Reader({
- return_buffers: this.options.return_buffers || false
- });
- };
- HiredisReplyParser.prototype.execute = function (data) {
- var reply;
- this.reader.feed(data);
- while (true) {
- try {
- reply = this.reader.get();
- } catch (err) {
- this.emit("error", err);
- break;
- }
- if (reply === undefined) {
- break;
- }
- if (reply && reply.constructor === Error) {
- this.emit("reply error", reply);
- } else {
- this.emit("reply", reply);
- }
- }
- };
|