Open In App

Node.js v8.Serializer.writeUint64() Method

Last Updated : 22 Jul, 2020
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



Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads