public class AdaptiveReceiveBufferSizePredictor extends Object implements ReceiveBufferSizePredictor
ReceiveBufferSizePredictor
that automatically increases and
decreases the predicted buffer size on feed back.
It gradually increases the expected number of readable bytes if the previous read fully filled the allocated buffer. It gradually decreases the expected number of readable bytes if the read operation was not able to fill a certain amount of the allocated buffer two times consecutively. Otherwise, it keeps returning the same prediction.
Constructor and Description |
---|
AdaptiveReceiveBufferSizePredictor()
Creates a new predictor with the default parameters.
|
AdaptiveReceiveBufferSizePredictor(int minimum,
int initial,
int maximum)
Creates a new predictor with the specified parameters.
|
Modifier and Type | Method and Description |
---|---|
int |
nextReceiveBufferSize()
Predicts the capacity of the
ChannelBuffer for the next
read operation depending on the actual number of read bytes in the
previous read operation. |
void |
previousReceiveBufferSize(int previousReceiveBufferSize)
Updates this predictor by specifying the actual number of read bytes
in the previous read operation.
|
public AdaptiveReceiveBufferSizePredictor()
1024
, does not
go down below 64
, and does not go up above 65536
.public AdaptiveReceiveBufferSizePredictor(int minimum, int initial, int maximum)
minimum
- the inclusive lower bound of the expected buffer sizeinitial
- the initial buffer size when no feed back was receivedmaximum
- the inclusive upper bound of the expected buffer sizepublic int nextReceiveBufferSize()
ReceiveBufferSizePredictor
ChannelBuffer
for the next
read operation depending on the actual number of read bytes in the
previous read operation.nextReceiveBufferSize
in interface ReceiveBufferSizePredictor
public void previousReceiveBufferSize(int previousReceiveBufferSize)
ReceiveBufferSizePredictor
previousReceiveBufferSize
in interface ReceiveBufferSizePredictor
previousReceiveBufferSize
- the actual number of read bytes in the previous read operationCopyright © 2008-2013 The Netty Project. All Rights Reserved.