|
buffers |
|
======= |
|
|
|
Treat a collection of Buffers as a single contiguous partially mutable Buffer. |
|
|
|
Where possible, operations execute without creating a new Buffer and copying |
|
everything over. |
|
|
|
This is a cleaner more Buffery rehash of |
|
[bufferlist](http://github.com/substack/node-bufferlist). |
|
|
|
example |
|
======= |
|
|
|
slice |
|
----- |
|
|
|
var Buffers = require('buffers'); |
|
var bufs = Buffers(); |
|
bufs.push(new Buffer([1,2,3])); |
|
bufs.push(new Buffer([4,5,6,7])); |
|
bufs.push(new Buffer([8,9,10])); |
|
|
|
console.dir(bufs.slice(2,8)) |
|
|
|
output: |
|
|
|
$ node examples/slice.js |
|
<Buffer 03 04 05 06 07 08> |
|
|
|
splice |
|
------ |
|
|
|
var Buffers = require('buffers'); |
|
var bufs = Buffers([ |
|
new Buffer([1,2,3]), |
|
new Buffer([4,5,6,7]), |
|
new Buffer([8,9,10]), |
|
]); |
|
|
|
var removed = bufs.splice(2, 4); |
|
console.dir({ |
|
removed : removed.slice(), |
|
bufs : bufs.slice(), |
|
}); |
|
|
|
output: |
|
|
|
$ node examples/splice.js |
|
{ removed: <Buffer 03 04 05 06>, |
|
bufs: <Buffer 01 02 07 08 09 0a> } |
|
|
|
methods |
|
======= |
|
|
|
Buffers(buffers) |
|
---------------- |
|
|
|
Create a Buffers with an array of `Buffer`s if specified, else `[]`. |
|
|
|
.push(buf1, buf2...) |
|
-------------------- |
|
|
|
Push buffers onto the end. Just like `Array.prototype.push`. |
|
|
|
.unshift(buf1, buf2...) |
|
----------------------- |
|
|
|
Unshift buffers onto the head. Just like `Array.prototype.unshift`. |
|
|
|
.slice(i, j) |
|
------------ |
|
|
|
Slice a range out of the buffer collection as if it were contiguous. |
|
Works just like the `Array.prototype.slice` version. |
|
|
|
.splice(i, howMany, replacements) |
|
--------------------------------- |
|
|
|
Splice the buffer collection as if it were contiguous. |
|
Works just like `Array.prototype.splice`, even the replacement part! |
|
|
|
.copy(dst, dstStart, start, end) |
|
-------------------------------- |
|
|
|
Copy the buffer collection as if it were contiguous to the `dst` Buffer with the |
|
specified bounds. |
|
Works just like `Buffer.prototype.copy`. |
|
|
|
.get(i) |
|
------- |
|
|
|
Get a single element at index `i`. |
|
|
|
.set(i, x) |
|
---------- |
|
|
|
Set a single element's value at index `i`. |
|
|
|
.indexOf(needle, offset) |
|
---------- |
|
|
|
Find a string or buffer `needle` inside the buffer collection. Returns |
|
the position of the search string or -1 if the search string was not |
|
found. |
|
|
|
Provide an `offset` to skip that number of characters at the beginning |
|
of the search. This can be used to find additional matches. |
|
|
|
This function will return the correct result even if the search string |
|
is spread out over multiple internal buffers. |
|
|
|
.toBuffer() |
|
----------- |
|
|
|
Convert the buffer collection to a single buffer, equivalent with `.slice(0, buffers.length)`; |
|
|
|
.toString(encoding, start, end) |
|
----------- |
|
|
|
Decodes and returns a string from the buffer collection. |
|
Works just like `Buffer.prototype.toString` |
|
|