UNPKG

hazelcast-client

Version:

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

64 lines 2.21 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 this.hashCode(); } }; HeapData.prototype.hashCode = function () { return murmur(this.payload.slice(exports.DATA_OFFSET)); }; HeapData.prototype.equals = function (other) { return this.payload.compare(other.toBuffer(), exports.DATA_OFFSET, other.toBuffer().length, exports.DATA_OFFSET) === 0; }; 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