public class PooledByteBufAllocator extends AbstractByteBufAllocator implements ByteBufAllocatorMetricProvider
| Modifier and Type | Class and Description |
|---|---|
(package private) class |
PooledByteBufAllocator.PoolThreadLocalCache |
CALCULATE_THRESHOLD, DEFAULT_INITIAL_CAPACITY, DEFAULT_MAX_CAPACITY, DEFAULT_MAX_COMPONENTS| Constructor and Description |
|---|
PooledByteBufAllocator() |
PooledByteBufAllocator(boolean preferDirect) |
PooledByteBufAllocator(boolean preferDirect,
int nHeapArena,
int nDirectArena,
int pageSize,
int maxOrder)
|
PooledByteBufAllocator(boolean preferDirect,
int nHeapArena,
int nDirectArena,
int pageSize,
int maxOrder,
int tinyCacheSize,
int smallCacheSize,
int normalCacheSize)
|
PooledByteBufAllocator(boolean preferDirect,
int nHeapArena,
int nDirectArena,
int pageSize,
int maxOrder,
int tinyCacheSize,
int smallCacheSize,
int normalCacheSize,
boolean useCacheForAllThreads) |
PooledByteBufAllocator(boolean preferDirect,
int nHeapArena,
int nDirectArena,
int pageSize,
int maxOrder,
int tinyCacheSize,
int smallCacheSize,
int normalCacheSize,
boolean useCacheForAllThreads,
int directMemoryCacheAlignment) |
PooledByteBufAllocator(int nHeapArena,
int nDirectArena,
int pageSize,
int maxOrder) |
| Modifier and Type | Method and Description |
|---|---|
int |
chunkSize()
Deprecated.
|
static int |
defaultMaxOrder()
Default maximum order - System Property: io.netty.allocator.maxOrder - default 11
|
static int |
defaultNormalCacheSize()
Default normal cache size - System Property: io.netty.allocator.normalCacheSize - default 64
|
static int |
defaultNumDirectArena()
Default number of direct arenas - System Property: io.netty.allocator.numDirectArenas - default 2 * cores
|
static int |
defaultNumHeapArena()
Default number of heap arenas - System Property: io.netty.allocator.numHeapArenas - default 2 * cores
|
static int |
defaultPageSize()
Default buffer page size - System Property: io.netty.allocator.pageSize - default 8192
|
static int |
defaultSmallCacheSize()
Default small cache size - System Property: io.netty.allocator.smallCacheSize - default 256
|
static int |
defaultTinyCacheSize()
Default tiny cache size - System Property: io.netty.allocator.tinyCacheSize - default 512
|
java.util.List<PoolArenaMetric> |
directArenas()
Deprecated.
|
java.lang.String |
dumpStats()
Returns the status of the allocator (which contains all metrics) as string.
|
void |
freeThreadLocalCache()
Deprecated.
|
boolean |
hasThreadLocalCache()
Deprecated.
|
java.util.List<PoolArenaMetric> |
heapArenas()
Deprecated.
|
boolean |
isDirectBufferPooled()
Returns
true if direct ByteBuf's are pooled |
static boolean |
isDirectMemoryCacheAlignmentSupported()
Return
true if direct memory cache alignment is supported, false otherwise. |
PooledByteBufAllocatorMetric |
metric()
Returns a
ByteBufAllocatorMetric for a ByteBufAllocator. |
private static <T> PoolArena<T>[] |
newArenaArray(int size) |
protected ByteBuf |
newDirectBuffer(int initialCapacity,
int maxCapacity)
Create a direct
ByteBuf with the given initialCapacity and maxCapacity. |
protected ByteBuf |
newHeapBuffer(int initialCapacity,
int maxCapacity)
Create a heap
ByteBuf with the given initialCapacity and maxCapacity. |
int |
normalCacheSize()
Deprecated.
|
int |
numDirectArenas()
Deprecated.
|
int |
numHeapArenas()
Deprecated.
|
int |
numThreadLocalCaches()
Deprecated.
|
int |
smallCacheSize()
Deprecated.
|
(package private) PoolThreadCache |
threadCache() |
int |
tinyCacheSize()
Deprecated.
|
(package private) long |
usedDirectMemory() |
(package private) long |
usedHeapMemory() |
private static long |
usedMemory(PoolArena<?>... arenas) |
private static int |
validateAndCalculateChunkSize(int pageSize,
int maxOrder) |
private static int |
validateAndCalculatePageShifts(int pageSize) |
buffer, buffer, buffer, calculateNewCapacity, compositeBuffer, compositeBuffer, compositeDirectBuffer, compositeDirectBuffer, compositeHeapBuffer, compositeHeapBuffer, directBuffer, directBuffer, directBuffer, heapBuffer, heapBuffer, heapBuffer, ioBuffer, ioBuffer, ioBuffer, toLeakAwareBuffer, toLeakAwareBuffer, toStringprivate static final InternalLogger logger
private static final int DEFAULT_NUM_HEAP_ARENA
private static final int DEFAULT_NUM_DIRECT_ARENA
private static final int DEFAULT_PAGE_SIZE
private static final int DEFAULT_MAX_ORDER
private static final int DEFAULT_TINY_CACHE_SIZE
private static final int DEFAULT_SMALL_CACHE_SIZE
private static final int DEFAULT_NORMAL_CACHE_SIZE
private static final int DEFAULT_MAX_CACHED_BUFFER_CAPACITY
private static final int DEFAULT_CACHE_TRIM_INTERVAL
private static final boolean DEFAULT_USE_CACHE_FOR_ALL_THREADS
private static final int DEFAULT_DIRECT_MEMORY_CACHE_ALIGNMENT
private static final int MIN_PAGE_SIZE
private static final int MAX_CHUNK_SIZE
public static final PooledByteBufAllocator DEFAULT
private final PoolArena<byte[]>[] heapArenas
private final PoolArena<java.nio.ByteBuffer>[] directArenas
private final int tinyCacheSize
private final int smallCacheSize
private final int normalCacheSize
private final java.util.List<PoolArenaMetric> heapArenaMetrics
private final java.util.List<PoolArenaMetric> directArenaMetrics
private final PooledByteBufAllocator.PoolThreadLocalCache threadCache
private final int chunkSize
private final PooledByteBufAllocatorMetric metric
public PooledByteBufAllocator()
public PooledByteBufAllocator(boolean preferDirect)
public PooledByteBufAllocator(int nHeapArena,
int nDirectArena,
int pageSize,
int maxOrder)
@Deprecated
public PooledByteBufAllocator(boolean preferDirect,
int nHeapArena,
int nDirectArena,
int pageSize,
int maxOrder)
@Deprecated
public PooledByteBufAllocator(boolean preferDirect,
int nHeapArena,
int nDirectArena,
int pageSize,
int maxOrder,
int tinyCacheSize,
int smallCacheSize,
int normalCacheSize)
public PooledByteBufAllocator(boolean preferDirect,
int nHeapArena,
int nDirectArena,
int pageSize,
int maxOrder,
int tinyCacheSize,
int smallCacheSize,
int normalCacheSize,
boolean useCacheForAllThreads)
public PooledByteBufAllocator(boolean preferDirect,
int nHeapArena,
int nDirectArena,
int pageSize,
int maxOrder,
int tinyCacheSize,
int smallCacheSize,
int normalCacheSize,
boolean useCacheForAllThreads,
int directMemoryCacheAlignment)
private static <T> PoolArena<T>[] newArenaArray(int size)
private static int validateAndCalculatePageShifts(int pageSize)
private static int validateAndCalculateChunkSize(int pageSize,
int maxOrder)
protected ByteBuf newHeapBuffer(int initialCapacity, int maxCapacity)
AbstractByteBufAllocatorByteBuf with the given initialCapacity and maxCapacity.newHeapBuffer in class AbstractByteBufAllocatorprotected ByteBuf newDirectBuffer(int initialCapacity, int maxCapacity)
AbstractByteBufAllocatorByteBuf with the given initialCapacity and maxCapacity.newDirectBuffer in class AbstractByteBufAllocatorpublic static int defaultNumHeapArena()
public static int defaultNumDirectArena()
public static int defaultPageSize()
public static int defaultMaxOrder()
public static int defaultTinyCacheSize()
public static int defaultSmallCacheSize()
public static int defaultNormalCacheSize()
public static boolean isDirectMemoryCacheAlignmentSupported()
true if direct memory cache alignment is supported, false otherwise.public boolean isDirectBufferPooled()
ByteBufAllocatortrue if direct ByteBuf's are pooledisDirectBufferPooled in interface ByteBufAllocator@Deprecated public boolean hasThreadLocalCache()
true if the calling Thread has a ThreadLocal cache for the allocated
buffers.@Deprecated public void freeThreadLocalCache()
Thread.public PooledByteBufAllocatorMetric metric()
ByteBufAllocatorMetricProviderByteBufAllocatorMetric for a ByteBufAllocator.metric in interface ByteBufAllocatorMetricProvider@Deprecated public int numHeapArenas()
PooledByteBufAllocatorMetric.numHeapArenas().@Deprecated public int numDirectArenas()
PooledByteBufAllocatorMetric.numDirectArenas().@Deprecated public java.util.List<PoolArenaMetric> heapArenas()
PooledByteBufAllocatorMetric.heapArenas().List of all heap PoolArenaMetrics that are provided by this pool.@Deprecated public java.util.List<PoolArenaMetric> directArenas()
PooledByteBufAllocatorMetric.directArenas().List of all direct PoolArenaMetrics that are provided by this pool.@Deprecated public int numThreadLocalCaches()
PooledByteBufAllocatorMetric.numThreadLocalCaches().PooledByteBufAllocator.@Deprecated public int tinyCacheSize()
PooledByteBufAllocatorMetric.tinyCacheSize().@Deprecated public int smallCacheSize()
PooledByteBufAllocatorMetric.smallCacheSize().@Deprecated public int normalCacheSize()
PooledByteBufAllocatorMetric.normalCacheSize().@Deprecated public final int chunkSize()
PooledByteBufAllocatorMetric.chunkSize().final long usedHeapMemory()
final long usedDirectMemory()
private static long usedMemory(PoolArena<?>... arenas)
final PoolThreadCache threadCache()
public java.lang.String dumpStats()