Open In App

Node.js v8.Serializer.writeUint64() Method

Last Updated : 22 Jul, 2020
Comments
Improve
Suggest changes
Like Article
Like
Report

The v8.Serializer.writeUint64() method is an inbuilt application programming interface of the v8.Serializer module which is used to write a raw 64-bit integer value to the internal buffer by splitting into high and low 32-bit integers. For use inside of custom serializer._writeHostObject()method .

Syntax:
v8.Serializer.writeUint64(Value_high, Value_low);

Parameters: This method accept two parameters as mentioned above and described below:

  • value_high: It is a required parameter, refers to the higher 32-bit of the 64-bit integer to be written to the internal buffer.
  • value_low: It is a required parameter, refers to the lower 32-bit of the 64-bit integer to be written to the internal buffer.

Return Value: This method does not return anything but writes raw 64-bit integer value to the internal buffer.

Below examples illustrate the use of v8.Serializer.writeUint64() method in Node.js:

Example 1:

Filename: index.js javascript
// Accessing v8 module
const v8 = require('v8');
const serializer = new v8.Serializer();

// Calling v8.serializer.writeUint64() method
// Nothing is returned so, this should 
// print undefined
console.log(serializer.writeUint64(5783, 78374));
console.log(serializer.releaseBuffer());
Run index.js file using the following command:
node index.js

Output:

undefined
<Buffer a6 e4 84 80 f0 d2 05>

Example 2:

Filename: index.js javascript
// Accessing v8 module
const v8 = require('v8');
const serializer = new v8.Serializer();

// Calling v8.serializer.writeUint64() 
console.log(serializer.releaseBuffer());
serializer.writeUint64(29698, 3847);
console.log(serializer.releaseBuffer());

// Trying to write two 64 bit numbers
// one after another
serializer.writeUint64(29698, 3847);
serializer.writeUint64(29698, 3847);
console.log(serializer.releaseBuffer());

// Reading after write
// Calling v8.serializer.writeUint64() 
serializer.writeUint64(6783, 348072);

// Calling v8.deserializer.readUint64() 
const deserializer = new 
    v8.Deserializer(serializer.releaseBuffer());
console.log(deserializer.readUint64());
Run index.js file using the following command:
node index.js

Output:

<Buffer >
<Buffer 87 9e 80 80 a0 80 1d>
<Buffer 87 9e 80 80 a0 80 1d 87 9e 80 80 a0 80 1d>
[ 6783, 348072 ]

Reference: https://nodejs.org/api/v8.html#v8_serializer_writeuint64_hi_lo


Next Article

Similar Reads