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
						
					
					
				| 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`
 |