UNPKG

hazelcast-client

Version:

Hazelcast - open source In-Memory Data Grid - client for NodeJS

58 lines 1.94 kB
"use strict"; var murmur = require('../invocation/Murmur'); exports.PARTITION_HASH_OFFSET = 0; exports.TYPE_OFFSET = 4; exports.DATA_OFFSET = 8; exports.HEAP_DATA_OVERHEAD = exports.DATA_OFFSET; var HeapData = (function () { function HeapData(buffer) { if (buffer != null && buffer.length > 0 && buffer.length < exports.HEAP_DATA_OVERHEAD) { throw new Error('Data should be either empty or should contain more than ' + exports.HEAP_DATA_OVERHEAD + ' bytes! -> ' + buffer); } this.payload = buffer; } HeapData.prototype.toBuffer = function () { return this.payload; }; HeapData.prototype.getType = function () { if (this.totalSize() === 0) { return 0; } return this.payload.readIntBE(exports.TYPE_OFFSET, 4); }; HeapData.prototype.totalSize = function () { if (this.payload === null) { return 0; } else { return this.payload.length; } }; HeapData.prototype.dataSize = function () { return Math.max(this.totalSize() - exports.HEAP_DATA_OVERHEAD, 0); }; HeapData.prototype.getHeapCost = function () { return 0; }; HeapData.prototype.getPartitionHash = function () { if (this.hasPartitionHash()) { return this.payload.readIntBE(exports.PARTITION_HASH_OFFSET, 4); } else { return murmur(this.payload.slice(exports.DATA_OFFSET)); } }; HeapData.prototype.hasPartitionHash = function () { return this.payload !== null && this.payload.length >= exports.HEAP_DATA_OVERHEAD && this.payload.readIntBE(exports.PARTITION_HASH_OFFSET, 4) !== 0; }; HeapData.prototype.isPortable = function () { return false; }; return HeapData; }()); exports.HeapData = HeapData; //# sourceMappingURL=HeapData.js.map