Package io.netty.buffer
Class PooledByteBufAllocator
- java.lang.Object
-
- io.netty.buffer.AbstractByteBufAllocator
-
- io.netty.buffer.PooledByteBufAllocator
-
- All Implemented Interfaces:
ByteBufAllocator
,ByteBufAllocatorMetricProvider
public class PooledByteBufAllocator extends AbstractByteBufAllocator implements ByteBufAllocatorMetricProvider
-
-
Field Summary
Fields Modifier and Type Field Description static PooledByteBufAllocator
DEFAULT
-
Constructor Summary
Constructors Constructor 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 smallCacheSize, int normalCacheSize, boolean useCacheForAllThreads)
PooledByteBufAllocator(boolean preferDirect, int nHeapArena, int nDirectArena, int pageSize, int maxOrder, int smallCacheSize, int normalCacheSize, boolean useCacheForAllThreads, int directMemoryCacheAlignment)
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)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description int
chunkSize()
Deprecated.static boolean
defaultDisableCacheFinalizersForFastThreadLocalThreads()
Default control creation of PoolThreadCache finalizers for FastThreadLocalThreads - System Property: io.netty.allocator.disableCacheFinalizersForFastThreadLocalThreads - default falsestatic int
defaultMaxOrder()
Default maximum order - System Property: io.netty.allocator.maxOrder - default 9static int
defaultNormalCacheSize()
Default normal cache size - System Property: io.netty.allocator.normalCacheSize - default 64static int
defaultNumDirectArena()
Default number of direct arenas - System Property: io.netty.allocator.numDirectArenas - default 2 * coresstatic int
defaultNumHeapArena()
Default number of heap arenas - System Property: io.netty.allocator.numHeapArenas - default 2 * coresstatic int
defaultPageSize()
Default buffer page size - System Property: io.netty.allocator.pageSize - default 8192static boolean
defaultPreferDirect()
Default prefer direct - System Property: io.netty.noPreferDirect - default falsestatic int
defaultSmallCacheSize()
Default small cache size - System Property: io.netty.allocator.smallCacheSize - default 256static int
defaultTinyCacheSize()
Deprecated.Tiny caches have been merged into small caches.static boolean
defaultUseCacheForAllThreads()
Default thread caching behavior - System Property: io.netty.allocator.useCacheForAllThreads - default falsejava.util.List<PoolArenaMetric>
directArenas()
Deprecated.java.lang.String
dumpStats()
Returns the status of the allocator (which contains all metrics) as string.void
freeThreadLocalCache()
Deprecated.will be removed Free all cached buffers for the callingThread
.boolean
hasThreadLocalCache()
Deprecated.will be removed Returnstrue
if the callingThread
has aThreadLocal
cache for the allocated buffers.java.util.List<PoolArenaMetric>
heapArenas()
Deprecated.boolean
isDirectBufferPooled()
Returnstrue
if directByteBuf
's are pooledstatic boolean
isDirectMemoryCacheAlignmentSupported()
Returntrue
if direct memory cache alignment is supported,false
otherwise.PooledByteBufAllocatorMetric
metric()
Returns aByteBufAllocatorMetric
for aByteBufAllocator
.protected ByteBuf
newDirectBuffer(int initialCapacity, int maxCapacity)
Create a directByteBuf
with the given initialCapacity and maxCapacity.protected ByteBuf
newHeapBuffer(int initialCapacity, int maxCapacity)
Create a heapByteBuf
with the given initialCapacity and maxCapacity.int
normalCacheSize()
Deprecated.int
numDirectArenas()
Deprecated.int
numHeapArenas()
Deprecated.int
numThreadLocalCaches()
Deprecated.long
pinnedDirectMemory()
Returns the number of bytes of direct memory that is currently pinned to direct buffers allocated by aByteBufAllocator
, or-1
if unknown.long
pinnedHeapMemory()
Returns the number of bytes of heap memory that is currently pinned to heap buffers allocated by aByteBufAllocator
, or-1
if unknown.int
smallCacheSize()
Deprecated.int
tinyCacheSize()
Deprecated.boolean
trimCurrentThreadCache()
Trim thread local cache for the currentThread
, which will give back any cached memory that was not allocated frequently since the last trim operation.-
Methods inherited from class io.netty.buffer.AbstractByteBufAllocator
buffer, buffer, buffer, calculateNewCapacity, compositeBuffer, compositeBuffer, compositeDirectBuffer, compositeDirectBuffer, compositeHeapBuffer, compositeHeapBuffer, directBuffer, directBuffer, directBuffer, heapBuffer, heapBuffer, heapBuffer, ioBuffer, ioBuffer, ioBuffer, toLeakAwareBuffer, toLeakAwareBuffer, toString
-
-
-
-
Field Detail
-
DEFAULT
public static final PooledByteBufAllocator DEFAULT
-
-
Constructor Detail
-
PooledByteBufAllocator
public PooledByteBufAllocator()
-
PooledByteBufAllocator
public PooledByteBufAllocator(boolean preferDirect)
-
PooledByteBufAllocator
public PooledByteBufAllocator(int nHeapArena, int nDirectArena, int pageSize, int maxOrder)
-
PooledByteBufAllocator
@Deprecated public PooledByteBufAllocator(boolean preferDirect, int nHeapArena, int nDirectArena, int pageSize, int maxOrder)
-
PooledByteBufAllocator
@Deprecated public PooledByteBufAllocator(boolean preferDirect, int nHeapArena, int nDirectArena, int pageSize, int maxOrder, int tinyCacheSize, int smallCacheSize, int normalCacheSize)
-
PooledByteBufAllocator
@Deprecated public PooledByteBufAllocator(boolean preferDirect, int nHeapArena, int nDirectArena, int pageSize, int maxOrder, int tinyCacheSize, int smallCacheSize, int normalCacheSize, boolean useCacheForAllThreads)
-
PooledByteBufAllocator
public PooledByteBufAllocator(boolean preferDirect, int nHeapArena, int nDirectArena, int pageSize, int maxOrder, int smallCacheSize, int normalCacheSize, boolean useCacheForAllThreads)
-
PooledByteBufAllocator
@Deprecated public PooledByteBufAllocator(boolean preferDirect, int nHeapArena, int nDirectArena, int pageSize, int maxOrder, int tinyCacheSize, int smallCacheSize, int normalCacheSize, boolean useCacheForAllThreads, int directMemoryCacheAlignment)
-
PooledByteBufAllocator
public PooledByteBufAllocator(boolean preferDirect, int nHeapArena, int nDirectArena, int pageSize, int maxOrder, int smallCacheSize, int normalCacheSize, boolean useCacheForAllThreads, int directMemoryCacheAlignment)
-
-
Method Detail
-
newHeapBuffer
protected ByteBuf newHeapBuffer(int initialCapacity, int maxCapacity)
Description copied from class:AbstractByteBufAllocator
Create a heapByteBuf
with the given initialCapacity and maxCapacity.- Specified by:
newHeapBuffer
in classAbstractByteBufAllocator
-
newDirectBuffer
protected ByteBuf newDirectBuffer(int initialCapacity, int maxCapacity)
Description copied from class:AbstractByteBufAllocator
Create a directByteBuf
with the given initialCapacity and maxCapacity.- Specified by:
newDirectBuffer
in classAbstractByteBufAllocator
-
defaultNumHeapArena
public static int defaultNumHeapArena()
Default number of heap arenas - System Property: io.netty.allocator.numHeapArenas - default 2 * cores
-
defaultNumDirectArena
public static int defaultNumDirectArena()
Default number of direct arenas - System Property: io.netty.allocator.numDirectArenas - default 2 * cores
-
defaultPageSize
public static int defaultPageSize()
Default buffer page size - System Property: io.netty.allocator.pageSize - default 8192
-
defaultMaxOrder
public static int defaultMaxOrder()
Default maximum order - System Property: io.netty.allocator.maxOrder - default 9
-
defaultDisableCacheFinalizersForFastThreadLocalThreads
public static boolean defaultDisableCacheFinalizersForFastThreadLocalThreads()
Default control creation of PoolThreadCache finalizers for FastThreadLocalThreads - System Property: io.netty.allocator.disableCacheFinalizersForFastThreadLocalThreads - default false
-
defaultUseCacheForAllThreads
public static boolean defaultUseCacheForAllThreads()
Default thread caching behavior - System Property: io.netty.allocator.useCacheForAllThreads - default false
-
defaultPreferDirect
public static boolean defaultPreferDirect()
Default prefer direct - System Property: io.netty.noPreferDirect - default false
-
defaultTinyCacheSize
@Deprecated public static int defaultTinyCacheSize()
Deprecated.Tiny caches have been merged into small caches.Default tiny cache size - default 0
-
defaultSmallCacheSize
public static int defaultSmallCacheSize()
Default small cache size - System Property: io.netty.allocator.smallCacheSize - default 256
-
defaultNormalCacheSize
public static int defaultNormalCacheSize()
Default normal cache size - System Property: io.netty.allocator.normalCacheSize - default 64
-
isDirectMemoryCacheAlignmentSupported
public static boolean isDirectMemoryCacheAlignmentSupported()
Returntrue
if direct memory cache alignment is supported,false
otherwise.
-
isDirectBufferPooled
public boolean isDirectBufferPooled()
Description copied from interface:ByteBufAllocator
Returnstrue
if directByteBuf
's are pooled- Specified by:
isDirectBufferPooled
in interfaceByteBufAllocator
-
hasThreadLocalCache
@Deprecated public boolean hasThreadLocalCache()
Deprecated.will be removed Returnstrue
if the callingThread
has aThreadLocal
cache for the allocated buffers.
-
freeThreadLocalCache
@Deprecated public void freeThreadLocalCache()
Deprecated.will be removed Free all cached buffers for the callingThread
.
-
metric
public PooledByteBufAllocatorMetric metric()
Description copied from interface:ByteBufAllocatorMetricProvider
Returns aByteBufAllocatorMetric
for aByteBufAllocator
.- Specified by:
metric
in interfaceByteBufAllocatorMetricProvider
-
numHeapArenas
@Deprecated public int numHeapArenas()
Deprecated.Return the number of heap arenas.
-
numDirectArenas
@Deprecated public int numDirectArenas()
Deprecated.Return the number of direct arenas.
-
heapArenas
@Deprecated public java.util.List<PoolArenaMetric> heapArenas()
Deprecated.Return aList
of all heapPoolArenaMetric
s that are provided by this pool.
-
directArenas
@Deprecated public java.util.List<PoolArenaMetric> directArenas()
Deprecated.Return aList
of all directPoolArenaMetric
s that are provided by this pool.
-
numThreadLocalCaches
@Deprecated public int numThreadLocalCaches()
Deprecated.Return the number of thread local caches used by thisPooledByteBufAllocator
.
-
tinyCacheSize
@Deprecated public int tinyCacheSize()
Deprecated.Return the size of the tiny cache.
-
smallCacheSize
@Deprecated public int smallCacheSize()
Deprecated.Return the size of the small cache.
-
normalCacheSize
@Deprecated public int normalCacheSize()
Deprecated.Return the size of the normal cache.
-
chunkSize
@Deprecated public final int chunkSize()
Deprecated.Return the chunk size for an arena.
-
pinnedHeapMemory
public final long pinnedHeapMemory()
Returns the number of bytes of heap memory that is currently pinned to heap buffers allocated by aByteBufAllocator
, or-1
if unknown. A buffer can pin more memory than its capacity might indicate, due to implementation details of the allocator.
-
pinnedDirectMemory
public final long pinnedDirectMemory()
Returns the number of bytes of direct memory that is currently pinned to direct buffers allocated by aByteBufAllocator
, or-1
if unknown. A buffer can pin more memory than its capacity might indicate, due to implementation details of the allocator.
-
trimCurrentThreadCache
public boolean trimCurrentThreadCache()
Trim thread local cache for the currentThread
, which will give back any cached memory that was not allocated frequently since the last trim operation. Returnstrue
if a cache for the currentThread
exists and so was trimmed, false otherwise.
-
dumpStats
public java.lang.String dumpStats()
Returns the status of the allocator (which contains all metrics) as string. Be aware this may be expensive and so should not called too frequently.
-
-