V8 API Reference, 7.2.502.16 (for Deno 0.2.4)
v8::ValueSerializer::Delegate Class Referenceabstract
Inheritance diagram for v8::ValueSerializer::Delegate:
v8::Serializer

Public Member Functions

virtual void ThrowDataCloneError (Local< String > message)=0
 
virtual Maybe< boolWriteHostObject (Isolate *isolate, Local< Object > object)
 
virtual Maybe< uint32_tGetSharedArrayBufferId (Isolate *isolate, Local< SharedArrayBuffer > shared_array_buffer)
 
virtual Maybe< uint32_tGetWasmModuleTransferId (Isolate *isolate, Local< WasmCompiledModule > module)
 
virtual void * ReallocateBufferMemory (void *old_buffer, size_t size, size_t *actual_size)
 
virtual void FreeBufferMemory (void *buffer)
 

Detailed Description

Definition at line 1879 of file v8.h.

Member Function Documentation

◆ FreeBufferMemory()

void v8::ValueSerializer::Delegate::FreeBufferMemory ( void *  buffer)
virtual

Frees a buffer allocated with |ReallocateBufferMemory|.

The default implementation uses the stdlib's free() function.

Reimplemented in v8::Serializer.

Definition at line 3070 of file api.cc.

◆ GetSharedArrayBufferId()

Maybe< uint32_t > v8::ValueSerializer::Delegate::GetSharedArrayBufferId ( Isolate *  isolate,
Local< SharedArrayBuffer shared_array_buffer 
)
virtual

Called when the ValueSerializer is going to serialize a SharedArrayBuffer object. The embedder must return an ID for the object, using the same ID if this SharedArrayBuffer has already been serialized in this buffer. When deserializing, this ID will be passed to ValueDeserializer::GetSharedArrayBufferFromId as |clone_id|.

If the object cannot be serialized, an exception should be thrown and Nothing<uint32_t>() returned.

Reimplemented in v8::Serializer.

Definition at line 3049 of file api.cc.

◆ ReallocateBufferMemory()

void * v8::ValueSerializer::Delegate::ReallocateBufferMemory ( void *  old_buffer,
size_t  size,
size_t actual_size 
)
virtual

Allocates memory for the buffer of at least the size provided. The actual size (which may be greater or equal) is written to |actual_size|. If no buffer has been allocated yet, nullptr will be provided.

If the memory cannot be allocated, nullptr should be returned. |actual_size| will be ignored. It is assumed that |old_buffer| is still valid in this case and has not been modified.

The default implementation uses the stdlib's realloc() function.

Reimplemented in v8::Serializer.

Definition at line 3063 of file api.cc.

◆ ThrowDataCloneError()

virtual void v8::ValueSerializer::Delegate::ThrowDataCloneError ( Local< String message)
pure virtual

Handles the case where a DataCloneError would be thrown in the structured clone spec. Other V8 embedders may throw some other appropriate exception type.

Implemented in v8::Serializer.

◆ WriteHostObject()

Maybe< bool > v8::ValueSerializer::Delegate::WriteHostObject ( Isolate *  isolate,
Local< Object object 
)
virtual

The embedder overrides this method to write some kind of host object, if possible. If not, a suitable exception should be thrown and Nothing<bool>() returned.

Definition at line 3040 of file api.cc.


The documentation for this class was generated from the following files: