
Security News
Vite+ Joins the Push to Consolidate JavaScript Tooling
Evan You announces Vite+, a commercial, Rust-powered toolchain built on the Vite ecosystem to unify JavaScript development and fund open source.
BufferList provides an interface to treat a linked list of buffers as a single stream. This is useful for events that produce a many small Buffers, such as network streams.
Install using npm: npm install bufferlist
Or, check out the repository and have npm link to your development copy. This is useful for developing the library, and is necessary when running the tests, since they refer to the installed names of the library files. git clone http://github.com/substack/node-bufferlist.git cd node-bufferlist npm link .
#!/usr/bin/env node
var sys = require('sys');
var Buffer = require('buffer').Buffer;
var BufferList = require('bufferlist').BufferList;
var b = new BufferList;
['abcde','xyz','11358'].forEach(function (s) {
var buf = new Buffer(s.length);
buf.write(s);
b.push(buf);
});
sys.puts(b.take(10)); // abcdexyz11
This distribution also contains a Binary module for parsing these bufferlists.
#!/usr/bin/env node
var sys = require('sys');
var Buffer = require('buffer').Buffer;
var BufferList = require('bufferlist').BufferList;
var Binary = require('bufferlist/binary').Binary;
var bufferList = new BufferList;
var binary = Binary(bufferList)
.getWord16be('xLen')
.getBuffer('xs', 'xLen')
.tap(function (vars) {
vars.moo = 'xs:' + vars.xLen + ':' + vars.xs;
})
.end()
;
var buf = new Buffer(6);
buf.write('\x00\x04meow', 'binary');
bufferList.push(buf);
sys.puts(binary.vars.moo); // xs:4:meow
See the examples/ directory for more involved examples.
See http://github.com/substack/node-rfb for a practical application of this distribution.
FAQs
Create linked lists of Buffer objects
The npm package bufferlist receives a total of 2,719 weekly downloads. As such, bufferlist popularity was classified as popular.
We found that bufferlist demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?
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.
Security News
Evan You announces Vite+, a commercial, Rust-powered toolchain built on the Vite ecosystem to unify JavaScript development and fund open source.
Security News
Ruby Central’s incident report on the RubyGems.org access dispute sparks backlash from former maintainers and renewed debate over project governance.
Research
/Security News
Socket researchers uncover how threat actors weaponize Discord across the npm, PyPI, and RubyGems ecosystems to exfiltrate sensitive data.