aboutsummaryrefslogtreecommitdiffstats
path: root/signaling-server/node_modules/redis/lib/parser/hiredis.js
diff options
context:
space:
mode:
Diffstat (limited to 'signaling-server/node_modules/redis/lib/parser/hiredis.js')
-rw-r--r--signaling-server/node_modules/redis/lib/parser/hiredis.js46
1 files changed, 46 insertions, 0 deletions
diff --git a/signaling-server/node_modules/redis/lib/parser/hiredis.js b/signaling-server/node_modules/redis/lib/parser/hiredis.js
new file mode 100644
index 0000000..940bfee
--- /dev/null
+++ b/signaling-server/node_modules/redis/lib/parser/hiredis.js
@@ -0,0 +1,46 @@
+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);
+ }
+ }
+};