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