Record Parser

The record parser allows you to easily parse protocols which are delimited by a sequence of bytes, or fixed size records.

It transforms a sequence of input buffer to a sequence of buffer structured as configured (either fixed size or separated records).

For example, if you have a simple ASCII text protocol delimited by '\n' and the input is the following:

buffer1:HELLO\nHOW ARE Y
buffer2:OU?\nI AM
buffer3: DOING OK
buffer4:\n

The record parser would produce

buffer1:HELLO
buffer2:HOW ARE YOU?
buffer3:I AM DOING OK

Let’s see the associated code:

var RecordParser = require("vertx-js/record_parser");
var Buffer = require("vertx-js/buffer");
var parser = RecordParser.newDelimited("\n", function (h) {
  console.log(h.toString());
});

parser.handle(Buffer.buffer("HELLO\nHOW ARE Y"));
parser.handle(Buffer.buffer("OU?\nI AM"));
parser.handle(Buffer.buffer("DOING OK"));
parser.handle(Buffer.buffer("\n"));

You can also produce fixed sized chunks as follows:

var RecordParser = require("vertx-js/record_parser");
RecordParser.newFixed(4, function (h) {
  console.log(h.toString());
});

For more details, check out the RecordParser class.