Package io.netty.buffer
Class AdaptiveByteBufAllocator
- java.lang.Object
-
- io.netty.buffer.AbstractByteBufAllocator
-
- io.netty.buffer.AdaptiveByteBufAllocator
-
- All Implemented Interfaces:
ByteBufAllocator
,ByteBufAllocatorMetric
,ByteBufAllocatorMetricProvider
public final class AdaptiveByteBufAllocator extends AbstractByteBufAllocator implements ByteBufAllocatorMetricProvider, ByteBufAllocatorMetric
An auto-tuning poolingByteBufAllocator
, that follows an anti-generational hypothesis.Note: this allocator is experimental. It is recommended to roll out usage slowly, and to carefully monitor application performance in the process.
See the
AdaptivePoolingAllocator
class documentation for implementation details.
-
-
Field Summary
-
Fields inherited from interface io.netty.buffer.ByteBufAllocator
DEFAULT
-
-
Constructor Summary
Constructors Constructor Description AdaptiveByteBufAllocator()
AdaptiveByteBufAllocator(boolean preferDirect)
AdaptiveByteBufAllocator(boolean preferDirect, boolean useCacheForNonEventLoopThreads)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
isDirectBufferPooled()
Returnstrue
if directByteBuf
's are 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.long
usedDirectMemory()
Returns the number of bytes of direct memory used by aByteBufAllocator
or-1
if unknown.long
usedHeapMemory()
Returns the number of bytes of heap memory used by aByteBufAllocator
or-1
if unknown.-
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
-
-
-
-
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
-
isDirectBufferPooled
public boolean isDirectBufferPooled()
Description copied from interface:ByteBufAllocator
Returnstrue
if directByteBuf
's are pooled- Specified by:
isDirectBufferPooled
in interfaceByteBufAllocator
-
usedHeapMemory
public long usedHeapMemory()
Description copied from interface:ByteBufAllocatorMetric
Returns the number of bytes of heap memory used by aByteBufAllocator
or-1
if unknown.- Specified by:
usedHeapMemory
in interfaceByteBufAllocatorMetric
-
usedDirectMemory
public long usedDirectMemory()
Description copied from interface:ByteBufAllocatorMetric
Returns the number of bytes of direct memory used by aByteBufAllocator
or-1
if unknown.- Specified by:
usedDirectMemory
in interfaceByteBufAllocatorMetric
-
metric
public ByteBufAllocatorMetric metric()
Description copied from interface:ByteBufAllocatorMetricProvider
Returns aByteBufAllocatorMetric
for aByteBufAllocator
.- Specified by:
metric
in interfaceByteBufAllocatorMetricProvider
-
-