Package io.netty.channel
Class DefaultMaxBytesRecvByteBufAllocator
java.lang.Object
io.netty.channel.DefaultMaxBytesRecvByteBufAllocator
- All Implemented Interfaces:
MaxBytesRecvByteBufAllocator
,RecvByteBufAllocator
public class DefaultMaxBytesRecvByteBufAllocator
extends Object
implements MaxBytesRecvByteBufAllocator
The
RecvByteBufAllocator
that yields a buffer size prediction based upon decrementing the value from
the max bytes per read.-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate final class
Nested classes/interfaces inherited from interface io.netty.channel.RecvByteBufAllocator
RecvByteBufAllocator.DelegatingHandle, RecvByteBufAllocator.ExtendedHandle, RecvByteBufAllocator.Handle
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate int
private int
-
Constructor Summary
ConstructorsConstructorDescriptionDefaultMaxBytesRecvByteBufAllocator
(int maxBytesPerRead, int maxBytesPerIndividualRead) -
Method Summary
Modifier and TypeMethodDescriptionprivate static void
checkMaxBytesPerReadPair
(int maxBytesPerRead, int maxBytesPerIndividualRead) int
Returns the maximum number of bytes to read per individual read operation.maxBytesPerIndividualRead
(int maxBytesPerIndividualRead) Sets the maximum number of bytes to read per individual read operation.int
Returns the maximum number of bytes to read per read loop.maxBytesPerRead
(int maxBytesPerRead) Sets the maximum number of bytes to read per read loop.Atomic way to get the maximum number of bytes to read for a read loop and per individual read operation.maxBytesPerReadPair
(int maxBytesPerRead, int maxBytesPerIndividualRead) Sets the maximum number of bytes to read for a read loop and per individual read operation.Creates a new handle.
-
Field Details
-
maxBytesPerRead
private volatile int maxBytesPerRead -
maxBytesPerIndividualRead
private volatile int maxBytesPerIndividualRead
-
-
Constructor Details
-
DefaultMaxBytesRecvByteBufAllocator
public DefaultMaxBytesRecvByteBufAllocator() -
DefaultMaxBytesRecvByteBufAllocator
public DefaultMaxBytesRecvByteBufAllocator(int maxBytesPerRead, int maxBytesPerIndividualRead)
-
-
Method Details
-
newHandle
Description copied from interface:RecvByteBufAllocator
Creates a new handle. The handle provides the actual operations and keeps the internal information which is required for predicting an optimal buffer capacity.- Specified by:
newHandle
in interfaceRecvByteBufAllocator
-
maxBytesPerRead
public int maxBytesPerRead()Description copied from interface:MaxBytesRecvByteBufAllocator
Returns the maximum number of bytes to read per read loop. achannelRead()
event. If this value is greater than 1, an event loop might attempt to read multiple times to procure bytes.- Specified by:
maxBytesPerRead
in interfaceMaxBytesRecvByteBufAllocator
-
maxBytesPerRead
Description copied from interface:MaxBytesRecvByteBufAllocator
Sets the maximum number of bytes to read per read loop. If this value is greater than 1, an event loop might attempt to read multiple times to procure bytes.- Specified by:
maxBytesPerRead
in interfaceMaxBytesRecvByteBufAllocator
-
maxBytesPerIndividualRead
public int maxBytesPerIndividualRead()Description copied from interface:MaxBytesRecvByteBufAllocator
Returns the maximum number of bytes to read per individual read operation. achannelRead()
event. If this value is greater than 1, an event loop might attempt to read multiple times to procure bytes.- Specified by:
maxBytesPerIndividualRead
in interfaceMaxBytesRecvByteBufAllocator
-
maxBytesPerIndividualRead
Description copied from interface:MaxBytesRecvByteBufAllocator
Sets the maximum number of bytes to read per individual read operation. If this value is greater than 1, an event loop might attempt to read multiple times to procure bytes.- Specified by:
maxBytesPerIndividualRead
in interfaceMaxBytesRecvByteBufAllocator
-
maxBytesPerReadPair
Description copied from interface:MaxBytesRecvByteBufAllocator
Atomic way to get the maximum number of bytes to read for a read loop and per individual read operation. If this value is greater than 1, an event loop might attempt to read multiple times to procure bytes.- Specified by:
maxBytesPerReadPair
in interfaceMaxBytesRecvByteBufAllocator
- Returns:
- The Key is from
MaxBytesRecvByteBufAllocator.maxBytesPerRead()
. The Value is fromMaxBytesRecvByteBufAllocator.maxBytesPerIndividualRead()
-
checkMaxBytesPerReadPair
private static void checkMaxBytesPerReadPair(int maxBytesPerRead, int maxBytesPerIndividualRead) -
maxBytesPerReadPair
public DefaultMaxBytesRecvByteBufAllocator maxBytesPerReadPair(int maxBytesPerRead, int maxBytesPerIndividualRead) Description copied from interface:MaxBytesRecvByteBufAllocator
Sets the maximum number of bytes to read for a read loop and per individual read operation. If this value is greater than 1, an event loop might attempt to read multiple times to procure bytes.- Specified by:
maxBytesPerReadPair
in interfaceMaxBytesRecvByteBufAllocator
- Parameters:
maxBytesPerRead
- seeMaxBytesRecvByteBufAllocator.maxBytesPerRead(int)
maxBytesPerIndividualRead
- seeMaxBytesRecvByteBufAllocator.maxBytesPerIndividualRead(int)
-