Package io.netty.buffer
Class UnpooledByteBufAllocator
- java.lang.Object
-
- io.netty.buffer.AbstractByteBufAllocator
-
- io.netty.buffer.UnpooledByteBufAllocator
-
- All Implemented Interfaces:
ByteBufAllocator
,ByteBufAllocatorMetricProvider
public final class UnpooledByteBufAllocator extends AbstractByteBufAllocator implements ByteBufAllocatorMetricProvider
SimplisticByteBufAllocator
implementation that does not pool anything.
-
-
Field Summary
Fields Modifier and Type Field Description static UnpooledByteBufAllocator
DEFAULT
Default instance which uses leak-detection for direct buffers.
-
Constructor Summary
Constructors Constructor Description UnpooledByteBufAllocator(boolean preferDirect)
Create a new instance which uses leak-detection for direct buffers.UnpooledByteBufAllocator(boolean preferDirect, boolean disableLeakDetector)
Create a new instanceUnpooledByteBufAllocator(boolean preferDirect, boolean disableLeakDetector, boolean tryNoCleaner)
Create a new instance
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description CompositeByteBuf
compositeDirectBuffer(int maxNumComponents)
Allocate a directCompositeByteBuf
with the given maximum number of components that can be stored in it.CompositeByteBuf
compositeHeapBuffer(int maxNumComponents)
Allocate a heapCompositeByteBuf
with the given maximum number of components that can be stored in it.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.-
Methods inherited from class io.netty.buffer.AbstractByteBufAllocator
buffer, buffer, buffer, calculateNewCapacity, compositeBuffer, compositeBuffer, compositeDirectBuffer, compositeHeapBuffer, directBuffer, directBuffer, directBuffer, heapBuffer, heapBuffer, heapBuffer, ioBuffer, ioBuffer, ioBuffer, toLeakAwareBuffer, toLeakAwareBuffer, toString
-
-
-
-
Field Detail
-
DEFAULT
public static final UnpooledByteBufAllocator DEFAULT
Default instance which uses leak-detection for direct buffers.
-
-
Constructor Detail
-
UnpooledByteBufAllocator
public UnpooledByteBufAllocator(boolean preferDirect)
Create a new instance which uses leak-detection for direct buffers.- Parameters:
preferDirect
-true
ifAbstractByteBufAllocator.buffer(int)
should try to allocate a direct buffer rather than a heap buffer
-
UnpooledByteBufAllocator
public UnpooledByteBufAllocator(boolean preferDirect, boolean disableLeakDetector)
Create a new instance- Parameters:
preferDirect
-true
ifAbstractByteBufAllocator.buffer(int)
should try to allocate a direct buffer rather than a heap bufferdisableLeakDetector
-true
if the leak-detection should be disabled completely for this allocator. This can be useful if the user just want to depend on the GC to handle direct buffers when not explicit released.
-
UnpooledByteBufAllocator
public UnpooledByteBufAllocator(boolean preferDirect, boolean disableLeakDetector, boolean tryNoCleaner)
Create a new instance- Parameters:
preferDirect
-true
ifAbstractByteBufAllocator.buffer(int)
should try to allocate a direct buffer rather than a heap bufferdisableLeakDetector
-true
if the leak-detection should be disabled completely for this allocator. This can be useful if the user just want to depend on the GC to handle direct buffers when not explicit released.tryNoCleaner
-true
if we should try to usePlatformDependent.allocateDirectNoCleaner(int)
to allocate direct memory.
-
-
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
-
compositeHeapBuffer
public CompositeByteBuf compositeHeapBuffer(int maxNumComponents)
Description copied from interface:ByteBufAllocator
Allocate a heapCompositeByteBuf
with the given maximum number of components that can be stored in it.- Specified by:
compositeHeapBuffer
in interfaceByteBufAllocator
- Overrides:
compositeHeapBuffer
in classAbstractByteBufAllocator
-
compositeDirectBuffer
public CompositeByteBuf compositeDirectBuffer(int maxNumComponents)
Description copied from interface:ByteBufAllocator
Allocate a directCompositeByteBuf
with the given maximum number of components that can be stored in it.- Specified by:
compositeDirectBuffer
in interfaceByteBufAllocator
- Overrides:
compositeDirectBuffer
in classAbstractByteBufAllocator
-
isDirectBufferPooled
public boolean isDirectBufferPooled()
Description copied from interface:ByteBufAllocator
Returnstrue
if directByteBuf
's are pooled- Specified by:
isDirectBufferPooled
in interfaceByteBufAllocator
-
metric
public ByteBufAllocatorMetric metric()
Description copied from interface:ByteBufAllocatorMetricProvider
Returns aByteBufAllocatorMetric
for aByteBufAllocator
.- Specified by:
metric
in interfaceByteBufAllocatorMetricProvider
-
-