## 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 an 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:

    require 'vertx/record_parser'
    require 'vertx/buffer'
    parser = Vertx::RecordParser.new_delimited("\n") { |h|
      puts h.to_string()
    }

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

You can also produce fixed sized chunks as follows:

    require 'vertx/record_parser'
    Vertx::RecordParser.new_fixed(4) { |h|
      puts h.to_string()
    }

For more details, check out the `RecordParser` class.