R - type of the HiDensityRecord to be processedpublic class DefaultHiDensityRecordProcessor<R extends HiDensityRecord> extends Object implements HiDensityRecordProcessor<R>
| Modifier and Type | Field and Description |
|---|---|
protected Queue<com.hazelcast.memory.MemoryBlock> |
deferredBlocksQueue |
protected com.hazelcast.memory.HazelcastMemoryManager |
memoryManager |
protected HiDensityRecordAccessor<R> |
recordAccessor |
protected EnterpriseSerializationService |
serializationService |
protected HiDensityStorageInfo |
storageInfo |
| Constructor and Description |
|---|
DefaultHiDensityRecordProcessor(EnterpriseSerializationService serializationService,
HiDensityRecordAccessor<R> recordAccessor,
com.hazelcast.memory.HazelcastMemoryManager memoryManager,
HiDensityStorageInfo storageInfo) |
| Modifier and Type | Method and Description |
|---|---|
void |
addDeferredDispose(com.hazelcast.memory.MemoryBlock memoryBlock)
Adds given
MemoryBlock
to this HiDensityRecordProcessor to be disposed later. |
long |
allocate(long size) |
com.hazelcast.nio.serialization.Data |
convertData(com.hazelcast.nio.serialization.Data data,
com.hazelcast.nio.serialization.DataType dataType) |
long |
decreaseUsedMemory(long size)
Decreases the used memory for the underlying Hi-Density storage (cache, ...) as the
decreasedMemory. |
long |
dispose(long address) |
long |
dispose(R block) |
void |
disposeData(com.hazelcast.nio.serialization.Data data) |
long |
disposeData(long address)
Disposes (frees) the data at the specified
address. |
long |
disposeData(NativeMemoryData data)
Disposes (frees) the specified
NativeMemoryData. |
void |
disposeDeferredBlocks()
Disposes added
MemoryBlock instances. |
long |
disposeValue(R record)
Disposes (frees) the value of the specified
HiDensityRecord. |
void |
free(long address,
long size) |
com.hazelcast.memory.HazelcastMemoryManager |
getMemoryManager() |
EnterpriseSerializationService |
getSerializationService() |
long |
getSize(long address,
long expectedSize)
Gets the size of given
address. |
long |
getSize(com.hazelcast.memory.MemoryBlock memoryBlock)
Gets the size of given
memoryBlock. |
HiDensityStorageInfo |
getStorageInfo() |
long |
getUsedMemory()
Returns the used memory for the underlying Hi-Density storage (cache, ...).
|
long |
increaseUsedMemory(long size)
Increases the used memory for the underlying Hi-Density storage (cache, ...) as the
increasedMemory. |
boolean |
isEqual(long address1,
long address2) |
boolean |
isEqual(long address,
R value) |
R |
newRecord()
Creates an empty
HiDensityRecord. |
R |
read(long address) |
NativeMemoryData |
readData(long valueAddress)
Reads an off-heap based data from given
address. |
Object |
readValue(R record)
Reads the value of specified
HiDensityRecord. |
com.hazelcast.nio.serialization.Data |
toData(Object obj,
com.hazelcast.nio.serialization.DataType dataType) |
Object |
toObject(Object data) |
com.hazelcast.internal.memory.MemoryAllocator |
unwrapMemoryAllocator() |
protected final EnterpriseSerializationService serializationService
protected final HiDensityRecordAccessor<R extends HiDensityRecord> recordAccessor
protected final com.hazelcast.memory.HazelcastMemoryManager memoryManager
protected final HiDensityStorageInfo storageInfo
protected final Queue<com.hazelcast.memory.MemoryBlock> deferredBlocksQueue
public DefaultHiDensityRecordProcessor(EnterpriseSerializationService serializationService, HiDensityRecordAccessor<R> recordAccessor, com.hazelcast.memory.HazelcastMemoryManager memoryManager, HiDensityStorageInfo storageInfo)
public boolean isEqual(long address,
R value)
isEqual in interface com.hazelcast.memory.MemoryBlockAccessor<R extends HiDensityRecord>public boolean isEqual(long address1,
long address2)
isEqual in interface com.hazelcast.memory.MemoryBlockAccessor<R extends HiDensityRecord>public R read(long address)
read in interface com.hazelcast.memory.MemoryBlockAccessor<R extends HiDensityRecord>public long dispose(long address)
dispose in interface com.hazelcast.memory.MemoryBlockAccessor<R extends HiDensityRecord>public long dispose(R block)
dispose in interface com.hazelcast.memory.MemoryBlockAccessor<R extends HiDensityRecord>public R newRecord()
HiDensityRecordAccessorHiDensityRecord.newRecord in interface HiDensityRecordAccessor<R extends HiDensityRecord>HiDensityRecordpublic NativeMemoryData readData(long valueAddress)
HiDensityRecordAccessoraddress.readData in interface HiDensityRecordAccessor<R extends HiDensityRecord>valueAddress - the address of the data stored as off-heappublic Object readValue(R record)
HiDensityRecordAccessorHiDensityRecord.readValue in interface HiDensityRecordAccessor<R extends HiDensityRecord>record - the HiDensityRecord whose value will be readHiDensityRecordpublic long disposeValue(R record)
HiDensityRecordAccessorHiDensityRecord.disposeValue in interface HiDensityRecordAccessor<R extends HiDensityRecord>record - the HiDensityRecord whose value will be disposedHiDensityRecordpublic long disposeData(NativeMemoryData data)
HiDensityRecordAccessorNativeMemoryData.disposeData in interface HiDensityRecordAccessor<R extends HiDensityRecord>data - the NativeMemoryData whose value will be disposedpublic long disposeData(long address)
HiDensityRecordAccessoraddress.disposeData in interface HiDensityRecordAccessor<R extends HiDensityRecord>address - the address of the NativeMemoryData whose value will be disposedaddresspublic com.hazelcast.nio.serialization.Data toData(Object obj, com.hazelcast.nio.serialization.DataType dataType)
toData in interface MemoryBlockProcessor<R extends HiDensityRecord>public Object toObject(Object data)
toObject in interface MemoryBlockProcessor<R extends HiDensityRecord>public com.hazelcast.nio.serialization.Data convertData(com.hazelcast.nio.serialization.Data data,
com.hazelcast.nio.serialization.DataType dataType)
convertData in interface MemoryBlockProcessor<R extends HiDensityRecord>public void disposeData(com.hazelcast.nio.serialization.Data data)
disposeData in interface MemoryBlockProcessor<R extends HiDensityRecord>public long allocate(long size)
allocate in interface MemoryBlockProcessor<R extends HiDensityRecord>public void free(long address,
long size)
free in interface MemoryBlockProcessor<R extends HiDensityRecord>public void addDeferredDispose(com.hazelcast.memory.MemoryBlock memoryBlock)
HiDensityRecordProcessorMemoryBlock
to this HiDensityRecordProcessor to be disposed later.
Possibly at the end of (succeeded or failed) operation.addDeferredDispose in interface HiDensityRecordProcessor<R extends HiDensityRecord>memoryBlock - the MemoryBlock to be disposed laterpublic void disposeDeferredBlocks()
HiDensityRecordProcessorMemoryBlock instances.disposeDeferredBlocks in interface HiDensityRecordProcessor<R extends HiDensityRecord>public long getSize(com.hazelcast.memory.MemoryBlock memoryBlock)
HiDensityRecordAccessormemoryBlock.getSize in interface HiDensityRecordAccessor<R extends HiDensityRecord>memoryBlock - MemoryBlock whose size will be calculatedpublic long getSize(long address,
long expectedSize)
HiDensityRecordAccessoraddress.getSize in interface HiDensityRecordAccessor<R extends HiDensityRecord>address - the address whose size will be calculatedexpectedSize - the expected size of addresspublic com.hazelcast.internal.memory.MemoryAllocator unwrapMemoryAllocator()
unwrapMemoryAllocator in interface MemoryBlockProcessor<R extends HiDensityRecord>public long getUsedMemory()
HiDensityRecordProcessorgetUsedMemory in interface HiDensityRecordProcessor<R extends HiDensityRecord>public long increaseUsedMemory(long size)
HiDensityRecordProcessorincreasedMemory.increaseUsedMemory in interface HiDensityRecordProcessor<R extends HiDensityRecord>size - the memory size to be added to used memorypublic long decreaseUsedMemory(long size)
HiDensityRecordProcessordecreasedMemory.decreaseUsedMemory in interface HiDensityRecordProcessor<R extends HiDensityRecord>size - the memory size to be removed from used memorypublic com.hazelcast.memory.HazelcastMemoryManager getMemoryManager()
public EnterpriseSerializationService getSerializationService()
public HiDensityStorageInfo getStorageInfo()
Copyright © 2020 Hazelcast, Inc.. All Rights Reserved.