v8
7.0.276 (node 11.14.0)
V8 is Google's open source JavaScript engine
|
#include <v8.h>
Data Structures | |
class | Delegate |
Public Member Functions | |
ValueSerializer (Isolate *isolate) | |
ValueSerializer (Isolate *isolate, Delegate *delegate) | |
~ValueSerializer () | |
void | WriteHeader () |
V8_WARN_UNUSED_RESULT Maybe< bool > | WriteValue (Local< Context > context, Local< Value > value) |
V8_DEPRECATE_SOON ("Use Release()", std::vector< uint8_t > ReleaseBuffer()) | |
V8_WARN_UNUSED_RESULT std::pair< uint8_t *, size_t > | Release () |
void | TransferArrayBuffer (uint32_t transfer_id, Local< ArrayBuffer > array_buffer) |
V8_DEPRECATE_SOON ("Use Delegate::GetSharedArrayBufferId", void TransferSharedArrayBuffer(uint32_t transfer_id, Local< SharedArrayBuffer > shared_array_buffer)) | |
void | SetTreatArrayBufferViewsAsHostObjects (bool mode) |
void | WriteUint32 (uint32_t value) |
void | WriteUint64 (uint64_t value) |
void | WriteDouble (double value) |
void | WriteRawBytes (const void *source, size_t length) |
Value serialization compatible with the HTML structured clone algorithm. The format is backward-compatible (i.e. safe to store to disk).
WARNING: This API is under development, and changes (including incompatible changes to the API or wire format) may occur without notice until this warning is removed.
|
explicit |
ValueSerializer | ( | Isolate * | isolate, |
Delegate * | delegate | ||
) |
~ValueSerializer | ( | ) |
V8_WARN_UNUSED_RESULT std::pair<uint8_t*, size_t> Release | ( | ) |
Returns the stored data (allocated using the delegate's ReallocateBufferMemory) and its size. This serializer should not be used once the buffer is released. The contents are undefined if a previous write has failed. Ownership of the buffer is transferred to the caller.
void SetTreatArrayBufferViewsAsHostObjects | ( | bool | mode | ) |
Indicate whether to treat ArrayBufferView objects as host objects, i.e. pass them to Delegate::WriteHostObject. This should not be called when no Delegate was passed.
The default is not to treat ArrayBufferViews as host objects.
void TransferArrayBuffer | ( | uint32_t | transfer_id, |
Local< ArrayBuffer > | array_buffer | ||
) |
Marks an ArrayBuffer as havings its contents transferred out of band. Pass the corresponding ArrayBuffer in the deserializing context to ValueDeserializer::TransferArrayBuffer.
V8_DEPRECATE_SOON | ( | "Use Delegate::GetSharedArrayBufferId" | , |
void | TransferSharedArrayBufferuint32_t transfer_id, Local< SharedArrayBuffer > shared_array_buffer | ||
) |
Similar to TransferArrayBuffer, but for SharedArrayBuffer.
V8_DEPRECATE_SOON | ( | "Use Release()" | , |
std::vector< uint8_t > | ReleaseBuffer() | ||
) |
Returns the stored data. This serializer should not be used once the buffer is released. The contents are undefined if a previous write has failed.
void WriteDouble | ( | double | value | ) |
void WriteHeader | ( | ) |
Writes out a header, which includes the format version.
void WriteRawBytes | ( | const void * | source, |
size_t | length | ||
) |
void WriteUint32 | ( | uint32_t | value | ) |
Write raw data in various common formats to the buffer. Note that integer types are written in base-128 varint format, not with a binary copy. For use during an override of Delegate::WriteHostObject.
void WriteUint64 | ( | uint64_t | value | ) |
V8_WARN_UNUSED_RESULT Maybe<bool> WriteValue | ( | Local< Context > | context, |
Local< Value > | value | ||
) |
Serializes a JavaScript value into the buffer.