framing-buffer
Used to easily parse variable-size frame data coming from sockets. It allows a customizable frame length reader if the default isn't acceptable (buf.readInt32BE()).
Usage
To use it, set it as your 'data' event listener. When a full frame is found, the FrameBuffer will emit a "frame" event which can be listened to to get the full frame without the frame size header:
var FramingBuffer = framing_buffer = ; framing_buffer; my_socket;
If a custom frame length is required, you can provide the frame length field size and frame length reader function as parameters to the constructor:
// Example of using an unsigned short for the frame length fieldvar options = frame_length_size: 2 { return offset_buffer; }; var framing_buffer = options;
Note that an OffsetBuffer is passed into the frame_length_reader function.
The FramingBuffer keeps track of only one data stream. Keep an instance of this per steam that needs framing (i.e. one per socket / connection).
Install
npm install framing-buffer
Tests
npm test
License
MIT License