Package io.netty.buffer
Class AdaptiveByteBufAllocator
java.lang.Object
io.netty.buffer.AbstractByteBufAllocator
io.netty.buffer.AdaptiveByteBufAllocator
- All Implemented Interfaces:
ByteBufAllocator,ByteBufAllocatorMetric,ByteBufAllocatorMetricProvider
@UnstableApi
public final class AdaptiveByteBufAllocator
extends AbstractByteBufAllocator
implements ByteBufAllocatorMetricProvider, ByteBufAllocatorMetric
An auto-tuning pooling
ByteBufAllocator, 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.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescription(package private) static interfaceprivate static final classprivate static final class -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final booleanprivate final AdaptiveByteBufAllocator.AdaptiveAllocatorApiprivate final AdaptiveByteBufAllocator.AdaptiveAllocatorApiprivate static final InternalLoggerFields inherited from class io.netty.buffer.AbstractByteBufAllocator
CALCULATE_THRESHOLD, DEFAULT_INITIAL_CAPACITY, DEFAULT_MAX_CAPACITY, DEFAULT_MAX_COMPONENTSFields inherited from interface io.netty.buffer.ByteBufAllocator
DEFAULT -
Constructor Summary
ConstructorsConstructorDescriptionAdaptiveByteBufAllocator(boolean preferDirect) AdaptiveByteBufAllocator(boolean preferDirect, boolean useCacheForNonEventLoopThreads) -
Method Summary
Modifier and TypeMethodDescriptionbooleanReturnstrueif directByteBuf's are pooledmetric()Returns aByteBufAllocatorMetricfor aByteBufAllocator.protected ByteBufnewDirectBuffer(int initialCapacity, int maxCapacity) Create a directByteBufwith the given initialCapacity and maxCapacity.protected ByteBufnewHeapBuffer(int initialCapacity, int maxCapacity) Create a heapByteBufwith the given initialCapacity and maxCapacity.longReturns the number of bytes of direct memory used by aByteBufAllocatoror-1if unknown.longReturns the number of bytes of heap memory used by aByteBufAllocatoror-1if 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
-
Field Details
-
logger
-
DEFAULT_USE_CACHED_MAGAZINES_FOR_NON_EVENT_LOOP_THREADS
private static final boolean DEFAULT_USE_CACHED_MAGAZINES_FOR_NON_EVENT_LOOP_THREADS -
direct
-
heap
-
-
Constructor Details
-
AdaptiveByteBufAllocator
public AdaptiveByteBufAllocator() -
AdaptiveByteBufAllocator
public AdaptiveByteBufAllocator(boolean preferDirect) -
AdaptiveByteBufAllocator
public AdaptiveByteBufAllocator(boolean preferDirect, boolean useCacheForNonEventLoopThreads)
-
-
Method Details
-
newHeapBuffer
Description copied from class:AbstractByteBufAllocatorCreate a heapByteBufwith the given initialCapacity and maxCapacity.- Specified by:
newHeapBufferin classAbstractByteBufAllocator
-
newDirectBuffer
Description copied from class:AbstractByteBufAllocatorCreate a directByteBufwith the given initialCapacity and maxCapacity.- Specified by:
newDirectBufferin classAbstractByteBufAllocator
-
isDirectBufferPooled
public boolean isDirectBufferPooled()Description copied from interface:ByteBufAllocatorReturnstrueif directByteBuf's are pooled- Specified by:
isDirectBufferPooledin interfaceByteBufAllocator
-
usedHeapMemory
public long usedHeapMemory()Description copied from interface:ByteBufAllocatorMetricReturns the number of bytes of heap memory used by aByteBufAllocatoror-1if unknown.- Specified by:
usedHeapMemoryin interfaceByteBufAllocatorMetric
-
usedDirectMemory
public long usedDirectMemory()Description copied from interface:ByteBufAllocatorMetricReturns the number of bytes of direct memory used by aByteBufAllocatoror-1if unknown.- Specified by:
usedDirectMemoryin interfaceByteBufAllocatorMetric
-
metric
Description copied from interface:ByteBufAllocatorMetricProviderReturns aByteBufAllocatorMetricfor aByteBufAllocator.- Specified by:
metricin interfaceByteBufAllocatorMetricProvider
-