Package io.netty.channel.uring
Class IoUringBufferRingConfig
- java.lang.Object
-
- io.netty.channel.uring.IoUringBufferRingConfig
-
public final class IoUringBufferRingConfig extends java.lang.ObjectConfiguration class for anIoUringBufferRing. It will configure the buffer ring size, buffer group id and the chunk size.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classIoUringBufferRingConfig.Builder
-
Field Summary
Fields Modifier and Type Field Description private IoUringBufferRingAllocatorallocatorprivate booleanbatchAllocationprivate intbatchSizeprivate shortbgIdprivate shortbufferRingSizeprivate booleanincrementalprivate intmaxUnreleasedBuffers
-
Constructor Summary
Constructors Modifier Constructor Description IoUringBufferRingConfig(short bgId, short bufferRingSize, int batchSize, int maxUnreleasedBuffers, boolean incremental, IoUringBufferRingAllocator allocator)Deprecated.privateIoUringBufferRingConfig(short bgId, short bufferRingSize, int batchSize, int maxUnreleasedBuffers, boolean incremental, IoUringBufferRingAllocator allocator, boolean batchAllocation)IoUringBufferRingConfig(short bgId, short bufferRingSize, int maxUnreleasedBuffers, IoUringBufferRingAllocator allocator)Deprecated.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description IoUringBufferRingAllocatorallocator()Returns theIoUringBufferRingAllocatorto use to allocateByteBufs.intbatchSize()Returns the size of the batch on how many buffers are added everytime we need to expand the buffer ring.shortbufferGroupId()Returns the buffer group id to use.shortbufferRingSize()Returns the size of the ring.static IoUringBufferRingConfig.Builderbuilder()private static shortcheckBufferRingSize(short bufferRingSize)booleanequals(java.lang.Object o)inthashCode()booleanisBatchAllocation()Returnstrueif the ring should always be filled via a batch allocation orfalseif we will try to allocate a newByteBufas we used a buffer from the ring.booleanisIncremental()Returns true if incremental mode should be used for the buffer ring.intmaxUnreleasedBuffers()Deprecated.will be removed as it as no effect.
-
-
-
Field Detail
-
bgId
private final short bgId
-
bufferRingSize
private final short bufferRingSize
-
batchSize
private final int batchSize
-
maxUnreleasedBuffers
private final int maxUnreleasedBuffers
-
incremental
private final boolean incremental
-
allocator
private final IoUringBufferRingAllocator allocator
-
batchAllocation
private final boolean batchAllocation
-
-
Constructor Detail
-
IoUringBufferRingConfig
@Deprecated public IoUringBufferRingConfig(short bgId, short bufferRingSize, int maxUnreleasedBuffers, IoUringBufferRingAllocator allocator)Deprecated.Create a new configuration.- Parameters:
bgId- the buffer group id to use (must be non-negative).bufferRingSize- the size of the ringmaxUnreleasedBuffers- this parameter is ignored by the buffer ring.allocator- theIoUringBufferRingAllocatorto use to allocateByteBufs.
-
IoUringBufferRingConfig
@Deprecated public IoUringBufferRingConfig(short bgId, short bufferRingSize, int batchSize, int maxUnreleasedBuffers, boolean incremental, IoUringBufferRingAllocator allocator)Deprecated.Create a new configuration.- Parameters:
bgId- the buffer group id to use (must be non-negative).bufferRingSize- the size of the ringbatchSize- the size of the batch on how many buffers are added everytime we need to expand the buffer ring.maxUnreleasedBuffers- this parameter is ignored by the buffer ring.incremental-trueif the buffer ring is using incremental buffer consumption.allocator- theIoUringBufferRingAllocatorto use to allocateByteBufs.
-
IoUringBufferRingConfig
private IoUringBufferRingConfig(short bgId, short bufferRingSize, int batchSize, int maxUnreleasedBuffers, boolean incremental, IoUringBufferRingAllocator allocator, boolean batchAllocation)
-
-
Method Detail
-
bufferGroupId
public short bufferGroupId()
Returns the buffer group id to use.- Returns:
- the buffer group id to use.
-
bufferRingSize
public short bufferRingSize()
Returns the size of the ring.- Returns:
- the size of the ring.
-
batchSize
public int batchSize()
Returns the size of the batch on how many buffers are added everytime we need to expand the buffer ring.- Returns:
- batch size.
-
maxUnreleasedBuffers
@Deprecated public int maxUnreleasedBuffers()
Deprecated.will be removed as it as no effect.Returns the maximum buffers that can be allocated out of this buffer ring and are unreleased yet- Returns:
- the max unreleased buffers.
-
allocator
public IoUringBufferRingAllocator allocator()
Returns theIoUringBufferRingAllocatorto use to allocateByteBufs.- Returns:
- the allocator.
-
isBatchAllocation
public boolean isBatchAllocation()
Returnstrueif the ring should always be filled via a batch allocation orfalseif we will try to allocate a newByteBufas we used a buffer from the ring.- Returns:
trueif the ring should always be filled via a batch allocation.
-
isIncremental
public boolean isIncremental()
Returns true if incremental mode should be used for the buffer ring.- Returns:
trueif incremental mode is used,falseotherwise.
-
checkBufferRingSize
private static short checkBufferRingSize(short bufferRingSize)
-
equals
public boolean equals(java.lang.Object o)
- Overrides:
equalsin classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCodein classjava.lang.Object
-
builder
public static IoUringBufferRingConfig.Builder builder()
-
-