Browse Source

doc: clarify memory sharing behavior of buffer ctor

* Clarify that memory is always shared and never copied.
* Fix wording that sounded like ArrayBuffer has a buffer property.

PR-URL: https://github.com/nodejs/node/pull/10778
Ref: https://github.com/nodejs/node/issues/10770
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
v7.x
Zach Bjornson 8 years ago
committed by Italo A. Casas
parent
commit
73939ec701
  1. 30
      doc/api/buffer.md

30
doc/api/buffer.md

@ -348,15 +348,16 @@ deprecated: v6.0.0
> [`Buffer.from(arrayBuffer[, byteOffset [, length]])`][`Buffer.from(arrayBuffer)`] > [`Buffer.from(arrayBuffer[, byteOffset [, length]])`][`Buffer.from(arrayBuffer)`]
> instead. > instead.
* `arrayBuffer` {ArrayBuffer} The `.buffer` property of a [`TypedArray`] or * `arrayBuffer` {ArrayBuffer} An [`ArrayBuffer`] or the `.buffer` property of a
[`ArrayBuffer`] [`TypedArray`].
* `byteOffset` {Integer} Where to start copying from `arrayBuffer`. **Default:** `0` * `byteOffset` {Integer} Index of first byte to expose. **Default:** `0`
* `length` {Integer} How many bytes to copy from `arrayBuffer`. * `length` {Integer} Number of bytes to expose.
**Default:** `arrayBuffer.length - byteOffset` **Default:** `arrayBuffer.length - byteOffset`
When passed a reference to the `.buffer` property of a [`TypedArray`] instance, This creates a view of the [`ArrayBuffer`] without copying the underlying
the newly created `Buffer` will share the same allocated memory as the memory. For example, when passed a reference to the `.buffer` property of a
[`TypedArray`]. [`TypedArray`] instance, the newly created `Buffer` will share the same
allocated memory as the [`TypedArray`].
The optional `byteOffset` and `length` arguments specify a memory range within The optional `byteOffset` and `length` arguments specify a memory range within
the `arrayBuffer` that will be shared by the `Buffer`. the `arrayBuffer` that will be shared by the `Buffer`.
@ -719,15 +720,16 @@ A `TypeError` will be thrown if `array` is not an `Array`.
added: v5.10.0 added: v5.10.0
--> -->
* `arrayBuffer` {ArrayBuffer} The `.buffer` property of a [`TypedArray`] or * `arrayBuffer` {ArrayBuffer} An [`ArrayBuffer`] or the `.buffer` property of a
[`ArrayBuffer`] [`TypedArray`].
* `byteOffset` {Integer} Where to start copying from `arrayBuffer`. **Default:** `0` * `byteOffset` {Integer} Index of first byte to expose. **Default:** `0`
* `length` {Integer} How many bytes to copy from `arrayBuffer`. * `length` {Integer} Number of bytes to expose.
**Default:** `arrayBuffer.length - byteOffset` **Default:** `arrayBuffer.length - byteOffset`
When passed a reference to the `.buffer` property of a [`TypedArray`] instance, This creates a view of the [`ArrayBuffer`] without copying the underlying
the newly created `Buffer` will share the same allocated memory as the memory. For example, when passed a reference to the `.buffer` property of a
[`TypedArray`]. [`TypedArray`] instance, the newly created `Buffer` will share the same
allocated memory as the [`TypedArray`].
Example: Example:

Loading…
Cancel
Save