make a single instance of Parser per client

This commit is contained in:
brianc 2010-10-13 22:35:14 -05:00
parent 96cb1cc6c2
commit 39897a16c7
2 changed files with 9 additions and 5 deletions

View File

@ -40,9 +40,9 @@ p.connect = function() {
fullBuffer.write(data,8);
self.stream.write(fullBuffer);
});
this.stream.on('data', function(data) {
var parser = new Parser(data);
var parser = new Parser();
this.stream.on('data', function(buffer) {
parser.setBuffer(buffer);
var msg = parser.parseMessage();
while(msg) {
self.emit('message', msg);

View File

@ -1,10 +1,14 @@
var Parser = function(buffer) {
this.offset = 0;
this.buffer = buffer;
};
var p = Parser.prototype;
p.setBuffer = function(buffer) {
this.buffer = buffer;
this.offset = 0;
};
p.parseMessage = function() {
if(this.buffer.length == this.offset) {
return false;