doc: clarify API buffer.concat
authorMartii <thalamew@q.com>
Thu, 8 Oct 2015 03:14:16 +0000 (21:14 -0600)
committerJames M Snell <jasnell@gmail.com>
Thu, 29 Oct 2015 15:38:40 +0000 (08:38 -0700)
* Add a simple example for buffer.concat
* Change grammar slightly.

Fixes: #3219
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
PR-URL: https://github.com/nodejs/node/pull/3255

doc/api/buffer.markdown

index 22faef5..e4799bd 100644 (file)
@@ -127,7 +127,7 @@ Example:
 ### Class Method: Buffer.concat(list[, totalLength])
 
 * `list` {Array} List of Buffer objects to concat
-* `totalLength` {Number} Total length of the buffers when concatenated
+* `totalLength` {Number} Total length of the buffers in the list when concatenated
 
 Returns a buffer which is the result of concatenating all the buffers in
 the list together.
@@ -139,6 +139,32 @@ If totalLength is not provided, it is read from the buffers in the list.
 However, this adds an additional loop to the function, so it is faster
 to provide the length explicitly.
 
+Example: build a single buffer from a list of three buffers:
+
+    var buf1 = new Buffer(10);
+    var buf2 = new Buffer(14);
+    var buf3 = new Buffer(18);
+
+    buf1.fill(0);
+    buf2.fill(0);
+    buf3.fill(0);
+
+    var buffers = [buf1, buf2, buf3];
+
+    var totalLength = 0;
+    for (var i = 0; i < buffers.length; i++) {
+      totalLength += buffers[i].length;
+    }
+
+    console.log(totalLength);
+    var bufA = Buffer.concat(buffers, totalLength);
+    console.log(bufA);
+    console.log(bufA.length);
+
+    // 42
+    // <Buffer 00 00 00 00 ...>
+    // 42
+
 ### Class Method: Buffer.compare(buf1, buf2)
 
 * `buf1` {Buffer}