Open In App

Node.js v8.Serializer.writeUint64() Method

Improve
Improve
Like Article
Like
Save
Share
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




// 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




// 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



Last Updated : 22 Jul, 2020
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads