Skip to content
Snippets Groups Projects
Commit 18d67ed8 authored by Wouter van Oortmerssen's avatar Wouter van Oortmerssen
Browse files

Clarified in the docs how to get to the serialized bytes.

This was a frequent source of confusion, since in all implementations
the data doesn't start at offset 0 in the buffer.

Change-Id: I045966e65928e9acd9def84e215914ecb5510653
parent 205ddb17
No related branches found
No related tags found
No related merge requests found
......@@ -1161,12 +1161,23 @@ like so:
~~~{.java}
// This must be called after `finish()`.
java.nio.ByteBuffer buf = builder.dataBuffer();
// The data in this ByteBuffer does NOT start at 0, but at buf.position().
// The number of bytes is buf.remaining().
// Alternatively this copies the above data out of the ByteBuffer for you:
bytes[] buf = builder.sizedByteArray();
~~~
</div>
<div class="language-csharp">
~~~{.cs}
// This must be called after `Finish()`.
var buf = builder.DataBuffer; // Of type `FlatBuffers.ByteBuffer`.
// The data in this ByteBuffer does NOT start at 0, but at buf.Position.
// The end of the data is marked by buf.Length, so the size is
// buf.Length - buf.Position.
// Alternatively this copies the above data out of the ByteBuffer for you:
bytes[] buf = builder.SizedByteArray();
~~~
</div>
<div class="language-go">
......@@ -1184,13 +1195,16 @@ like so:
<div class="language-javascript">
~~~{.js}
// This must be called after `finish()`.
var buf = builder.dataBuffer(); // Of type `flatbuffers.ByteBuffer`.
var buf = builder.asUint8Array(); // Of type `Uint8Array`.
~~~
</div>
<div class="language-php">
~~~{.php}
// This must be called after `finish()`.
$buf = $builder->dataBuffer(); // Of type `Google\FlatBuffers\ByteBuffer`
// The data in this ByteBuffer does NOT start at 0, but at buf->getPosition().
// The end of the data is marked by buf->capacity(), so the size is
// buf->capacity() - buf->getPosition().
~~~
</div>
<div class="language-c">
......
......@@ -238,9 +238,8 @@ flatbuffers.Builder.prototype.dataBuffer = function() {
};
/**
* Get the ByteBuffer representing the FlatBuffer. Only call this after you've
* called finish(). The actual data starts at the ByteBuffer's current position,
* not necessarily at 0.
* Get the bytes representing the FlatBuffer. Only call this after you've
* called finish().
*
* @returns {Uint8Array}
*/
......
......@@ -582,6 +582,8 @@ namespace FlatBuffers
/// </summary>
/// <remarks>
/// This is typically only called after you call `Finish()`.
/// The actual data starts at the ByteBuffer's current position,
/// not necessarily at `0`.
/// </remarks>
/// <returns>
/// Returns the ByteBuffer for this FlatBuffer.
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment