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, toString
private 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)
AbstractByteBufAllocator
ByteBuf
with the given initialCapacity and maxCapacity.newHeapBuffer
in class AbstractByteBufAllocator
protected ByteBuf newDirectBuffer(int initialCapacity, int maxCapacity)
AbstractByteBufAllocator
ByteBuf
with the given initialCapacity and maxCapacity.newDirectBuffer
in class AbstractByteBufAllocator
public 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()
ByteBufAllocator
true
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()
ByteBufAllocatorMetricProvider
ByteBufAllocatorMetric
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 PoolArenaMetric
s that are provided by this pool.@Deprecated public java.util.List<PoolArenaMetric> directArenas()
PooledByteBufAllocatorMetric.directArenas()
.List
of all direct PoolArenaMetric
s 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()