Skip to content

Commit c98125b

Browse files
committed
Use on('data') for v0.8.x
1 parent 5108161 commit c98125b

File tree

1 file changed

+17
-11
lines changed

1 file changed

+17
-11
lines changed

lib/connection.js

Lines changed: 17 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,13 @@ var Connection = function(config) {
2222
this.ssl = config.ssl || false;
2323
this._ending = false;
2424
this._mode = TEXT_MODE;
25+
this._emitMessage = false;
26+
var self = this;
27+
this.on('newListener', function(eventName) {
28+
if(eventName == 'message') {
29+
self._emitMessage = true;
30+
}
31+
});
2532
};
2633

2734
util.inherits(Connection, EventEmitter);
@@ -80,18 +87,16 @@ Connection.prototype.connect = function(port, host) {
8087
};
8188

8289
Connection.prototype.attachListeners = function(stream) {
83-
var self = this;
84-
stream.on('readable', function() {
85-
var buff = stream.read();
86-
if(!buff) return;
87-
self.setBuffer(buff);
88-
var msg = self.parseMessage();
89-
while(msg) {
90-
self.emit('message', msg);
91-
self.emit(msg.name, msg);
92-
msg = self.parseMessage();
90+
stream.on('data', function(buff) {
91+
this.setBuffer(buff);
92+
var msg;
93+
while(msg = this.parseMessage()) {
94+
if(this._emitMessage) {
95+
this.emit('message', msg);
96+
}
97+
this.emit(msg.name, msg);
9398
}
94-
});
99+
}.bind(this));
95100
};
96101

97102
Connection.prototype.requestSsl = function(config) {
@@ -401,6 +406,7 @@ Connection.prototype.parseMessage = function() {
401406
case 0x64: //d
402407
return this.parsed(buffer, length);
403408
}
409+
return false;
404410
};
405411

406412
Connection.prototype.parseR = function(buffer, length) {

0 commit comments

Comments
 (0)