Buffer incoming tcp data until we receive a complete metric

This commit is contained in:
Ben Burry 2014-10-10 17:29:09 +00:00
Родитель 206bdf0628
Коммит 4b298f2b94
1 изменённых файлов: 8 добавлений и 1 удалений

Просмотреть файл

@ -11,8 +11,15 @@ exports.start = function(config, callback){
var server = net.createServer(function(stream) { var server = net.createServer(function(stream) {
stream.setEncoding('ascii'); stream.setEncoding('ascii');
var buffer;
stream.on('data', function(data) { stream.on('data', function(data) {
callback(data, new rinfo(stream, data)); buffer += data;
var offset = buffer.lastIndexOf("\n");
if (offset > -1) {
var packet = buffer.slice(0, offset + 1);
buffer = buffer.slice(offset + 1);
callback(packet, new rinfo(stream, packet));
}
}); });
}); });