• Node.js Video Tutorials

NodeJS v8.serializer.writeUint64() Method



The NodeJS v8.serializer.writeUnit64() method of class v8.serializer is used to write a raw 64-bit unsigned integer to the internal buffer. The 64-bit unsigned integer will be separated into high and low 32-bit parts.

Unit64 is a 64-bit unsigned integer that has a minimum value of 0 and a maximum value of 18,446,744,073,709,551,615 (2^64)-1 (inclusive).

This method is mainly used inside the custom serializer._writeHostObject() that is used to write some kind of host object.

Syntax

Following is the syntax of the NodeJS v8.serializer.writeUnit64() method −

v8.serializer.writeUint64(high, low)

Parameters

This method accepts two parameters. The same are described below.

  • high − A higher 32-bit of the 64-bit integer that will be written in the internal buffer.

  • low − A lower 32-bit of the 64-bit integer that will be written in the internal buffer.

Return Value

This method returns undefined instead, it writes the passed value (raw 64-bit integer) to the internal buffer.

Example

In the following example, we are trying to write a raw 64-bit unsigned integer to the internal buffer using NodeJS v8.serializer.writeUnit64() method.

const v8 = require('v8');
const serializer = new v8.Serializer();
console.log(serializer.writeUint64(1234, 5678));

Output

As we can see in the output below, the NodeJS writeUnit64() method returns undefined instead, it writes the passed value to the internal buffer.

undefined

Example

In the example below, we are trying to write a 64-bit unsigned integer to the internal buffer that will be separated into high and low 32-bit-bit parts.

const v8 = require('v8');
const serializer = new v8.Serializer();
console.log(serializer.releaseBuffer());
serializer.writeUint64(123, 567);
console.log(serializer.releaseBuffer());

Output

<Buffer >
<Buffer b7 84 80 80 b0 0f>

Example

If we write multiple 64-bit unsigned integers to the internal buffer, the integers will be added consecutively.

const v8 = require('v8');
const serializer = new v8.Serializer();
console.log(serializer.releaseBuffer());
serializer.writeUint64(12, 56);
serializer.writeUint64(34, 78);
console.log(serializer.releaseBuffer());

Output

<Buffer >
<Buffer b8 80 80 80 c0 01 ce 80 80 80 a0 04>
nodejs_v8_module.htm
Advertisements