public class HotRestartThreadLocalPoolingMemoryManager
extends com.hazelcast.memory.ThreadLocalPoolingMemoryManager
ThreadLocalPoolingMemoryManager which contributes
mutex locking needed to safely perform pointer validation inside
RamStore.copyEntry(
com.hazelcast.spi.hotrestart.KeyHandle, int, com.hazelcast.spi.hotrestart.RecordDataSink) calls.| Modifier and Type | Field and Description |
|---|---|
protected static int |
EXTERNAL_BLOCK_HEADER_SIZE |
protected com.hazelcast.internal.memory.MemoryAllocator |
pageAllocator |
| Constructor and Description |
|---|
HotRestartThreadLocalPoolingMemoryManager(int minBlockSize,
int pageSize,
com.hazelcast.internal.memory.impl.LibMalloc malloc,
com.hazelcast.memory.PooledNativeMemoryStats stats) |
| Modifier and Type | Method and Description |
|---|---|
protected long |
acquireInternal(com.hazelcast.memory.AddressQueue arg0) |
long |
allocate(long arg0) |
protected long |
allocateExternalBlock(long size) |
void |
compact() |
protected void |
compact(com.hazelcast.memory.AddressQueue arg0) |
void |
dispose() |
String |
dump() |
void |
free(long arg0,
long arg1) |
protected void |
freeExternalBlock(long address,
long size) |
protected void |
freePage(long arg0) |
protected com.hazelcast.memory.AddressQueue |
getAddressQueue(long arg0) |
long |
getAllocatedSize(long arg0) |
double |
getFragmentationRatio(int arg0) |
com.hazelcast.memory.MemoryStats |
getMemoryStats() |
com.hazelcast.internal.memory.MemoryAllocator |
getSystemAllocator() |
long |
getUsableSize(long arg0) |
long |
newSequence() |
protected void |
onMallocPage(long pageAddress) |
protected long |
toHeaderAddress(long arg0,
int arg1) |
long |
validateAndGetAllocatedSize(long address) |
long |
validateAndGetUsableSize(long arg0) |
createAddressQueue, getOffsetWithinPage, getQueueMergeThreshold, getSizeInternal, headerSize, initialize, isAvailable, isDisposed, isValidAndAvailable, markAvailable, markInvalid, markUnavailable, newCounter, onOome, toStringprotected static final int EXTERNAL_BLOCK_HEADER_SIZE
protected final com.hazelcast.internal.memory.MemoryAllocator pageAllocator
public HotRestartThreadLocalPoolingMemoryManager(int minBlockSize,
int pageSize,
com.hazelcast.internal.memory.impl.LibMalloc malloc,
com.hazelcast.memory.PooledNativeMemoryStats stats)
public long validateAndGetAllocatedSize(long address)
validateAndGetAllocatedSize in interface com.hazelcast.memory.HazelcastMemoryManagervalidateAndGetAllocatedSize in class com.hazelcast.memory.ThreadLocalPoolingMemoryManagerprotected long allocateExternalBlock(long size)
allocateExternalBlock in class com.hazelcast.memory.ThreadLocalPoolingMemoryManagerprotected void freeExternalBlock(long address,
long size)
freeExternalBlock in class com.hazelcast.memory.ThreadLocalPoolingMemoryManagerprotected void onMallocPage(long pageAddress)
onMallocPage in class com.hazelcast.memory.ThreadLocalPoolingMemoryManagerpublic void dispose()
dispose in interface com.hazelcast.nio.Disposabledispose in class com.hazelcast.memory.ThreadLocalPoolingMemoryManagerpublic final long allocate(long arg0)
allocate in interface com.hazelcast.internal.memory.MemoryAllocatorallocate in interface com.hazelcast.memory.HazelcastMemoryManagerpublic final void free(long arg0,
long arg1)
free in interface com.hazelcast.internal.memory.MemoryAllocatorfree in interface com.hazelcast.memory.HazelcastMemoryManagerpublic final com.hazelcast.memory.MemoryStats getMemoryStats()
getMemoryStats in interface com.hazelcast.memory.HazelcastMemoryManagerpublic final com.hazelcast.internal.memory.MemoryAllocator getSystemAllocator()
getSystemAllocator in interface com.hazelcast.memory.HazelcastMemoryManagerpublic final void compact()
compact in interface com.hazelcast.memory.HazelcastMemoryManagerpublic final long getAllocatedSize(long arg0)
getAllocatedSize in interface com.hazelcast.memory.HazelcastMemoryManagerpublic final long getUsableSize(long arg0)
getUsableSize in interface com.hazelcast.memory.HazelcastMemoryManagerpublic final long validateAndGetUsableSize(long arg0)
validateAndGetUsableSize in interface com.hazelcast.memory.HazelcastMemoryManagerpublic final long newSequence()
newSequence in interface com.hazelcast.memory.HazelcastMemoryManagerprotected final com.hazelcast.memory.AddressQueue getAddressQueue(long arg0)
protected final long acquireInternal(com.hazelcast.memory.AddressQueue arg0)
protected final long toHeaderAddress(long arg0,
int arg1)
protected final void compact(com.hazelcast.memory.AddressQueue arg0)
protected final void freePage(long arg0)
public final double getFragmentationRatio(int arg0)
public final String dump()
Copyright © 2020 Hazelcast, Inc.. All Rights Reserved.