You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					123 lines
				
				2.7 KiB
			
		
		
			
		
	
	
					123 lines
				
				2.7 KiB
			| 
											2 years ago
										 | 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` |