v8
7.4.288(node12.0.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_WARN_UNUSED_RESULT std::pair< uint8_t *, size_t > | Release () |
void | TransferArrayBuffer (uint32_t transfer_id, Local< ArrayBuffer > 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).
|
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.
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 | ) |
Serializes a JavaScript value into the buffer.