Class UnsafeMemoryProvider
- java.lang.Object
-
- org.apache.ignite.internal.mem.unsafe.UnsafeMemoryProvider
-
- All Implemented Interfaces:
DirectMemoryProvider
public class UnsafeMemoryProvider extends Object implements DirectMemoryProvider
Memory provider implementation based on unsafe memory access.Supports memory reuse semantics.
-
-
Constructor Summary
Constructors Constructor Description UnsafeMemoryProvider(@Nullable IgniteLogger log)UnsafeMemoryProvider(@Nullable IgniteLogger log, @Nullable MemoryAllocator allocator)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidinitialize(long[] sizes)DirectMemoryRegionnextRegion()Attempts to allocate next memory region.voidshutdown(boolean deallocate)Shuts down the provider.
-
-
-
Constructor Detail
-
UnsafeMemoryProvider
public UnsafeMemoryProvider(@Nullable @Nullable IgniteLogger log)- Parameters:
log- Ignite logger to use.
-
UnsafeMemoryProvider
public UnsafeMemoryProvider(@Nullable @Nullable IgniteLogger log, @Nullable @Nullable MemoryAllocator allocator)- Parameters:
log- Ignite logger to use.allocator- Memory allocator. Ifnull, defaultUnsafeMemoryAllocatorwill be used.
-
-
Method Detail
-
initialize
public void initialize(long[] sizes)
- Specified by:
initializein interfaceDirectMemoryProvider- Parameters:
sizes- Initializes provider with the chunk sizes.
-
shutdown
public void shutdown(boolean deallocate)
Shuts down the provider.- Specified by:
shutdownin interfaceDirectMemoryProvider- Parameters:
deallocate-Trueto deallocate memory,falseto allow memory reuse.
-
nextRegion
public DirectMemoryRegion nextRegion()
Attempts to allocate next memory region. Will returnnullif no more regions are available.- Specified by:
nextRegionin interfaceDirectMemoryProvider- Returns:
- Next memory region.
-
-