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());
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());
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