New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

framing-buffer

Package Overview
Dependencies
Maintainers
1
Versions
3
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

framing-buffer

Easily frame your socket data in your own streams

0.0.3
latest
npm
Version published
Maintainers
1
Created
Source

framing-buffer

Build Status

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 = require('framing-buffer'),
    framing_buffer = new FramingBuffer();

framing_buffer.on('frame', function(frame) {
    // got my full frame!
});

my_socket.on('data', function(data) {
    framing_buffer.push(data);
});

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 field
var options = {
    frame_length_size: 2,
    frame_length_reader: function(offset_buffer) {
        return offset_buffer.readUInt16BE();
    }
};

var framing_buffer = new FramingBuffer(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

Keywords

socket

FAQs

Package last updated on 27 Aug 2013

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts