Class DefaultMaxMessagesRecvByteBufAllocator.MaxMessageHandle
java.lang.Object
io.netty.channel.DefaultMaxMessagesRecvByteBufAllocator.MaxMessageHandle
- All Implemented Interfaces:
RecvByteBufAllocator.ExtendedHandle, RecvByteBufAllocator.Handle
- Enclosing class:
DefaultMaxMessagesRecvByteBufAllocator
public abstract class DefaultMaxMessagesRecvByteBufAllocator.MaxMessageHandle
extends Object
implements RecvByteBufAllocator.ExtendedHandle
Focuses on enforcing the maximum messages per read condition for
continueReading().-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionallocate(ByteBufAllocator alloc) Creates a new receive buffer whose capacity is probably large enough to read all inbound data and small enough not to waste its space.intGet how many bytes the read operation will (or did) attempt to read.voidattemptedBytesRead(int bytes) Set how many bytes the read operation will (or did) attempt to read.booleanDetermine if the current read loop should continue.booleancontinueReading(UncheckedBooleanSupplier maybeMoreDataSupplier) Same asRecvByteBufAllocator.Handle.continueReading()except "more data" is determined by the supplier parameter.final voidincMessagesRead(int amt) Increment the number of messages that have been read for the current read loop.final intGet the amount of bytes for the previous read operation.voidlastBytesRead(int bytes) Set the bytes that have been read for the last read operation.voidThe read has completed.voidreset(ChannelConfig config) OnlyChannelConfig.getMaxMessagesPerRead()is used.protected final intMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface RecvByteBufAllocator.Handle
guess
-
Constructor Details
-
MaxMessageHandle
public MaxMessageHandle()
-
-
Method Details
-
reset
OnlyChannelConfig.getMaxMessagesPerRead()is used.- Specified by:
resetin interfaceRecvByteBufAllocator.Handle- Parameters:
config- The channel configuration which may impact this object's behavior.
-
allocate
Description copied from interface:RecvByteBufAllocator.HandleCreates a new receive buffer whose capacity is probably large enough to read all inbound data and small enough not to waste its space.- Specified by:
allocatein interfaceRecvByteBufAllocator.Handle
-
incMessagesRead
public final void incMessagesRead(int amt) Description copied from interface:RecvByteBufAllocator.HandleIncrement the number of messages that have been read for the current read loop.- Specified by:
incMessagesReadin interfaceRecvByteBufAllocator.Handle- Parameters:
amt- The amount to increment by.
-
lastBytesRead
public void lastBytesRead(int bytes) Description copied from interface:RecvByteBufAllocator.HandleSet the bytes that have been read for the last read operation. This may be used to increment the number of bytes that have been read.- Specified by:
lastBytesReadin interfaceRecvByteBufAllocator.Handle- Parameters:
bytes- The number of bytes from the previous read operation. This may be negative if an read error occurs. If a negative value is seen it is expected to be return on the next call toRecvByteBufAllocator.Handle.lastBytesRead(). A negative value will signal a termination condition enforced externally to this class and is not required to be enforced inRecvByteBufAllocator.Handle.continueReading().
-
lastBytesRead
public final int lastBytesRead()Description copied from interface:RecvByteBufAllocator.HandleGet the amount of bytes for the previous read operation.- Specified by:
lastBytesReadin interfaceRecvByteBufAllocator.Handle- Returns:
- The amount of bytes for the previous read operation.
-
continueReading
public boolean continueReading()Description copied from interface:RecvByteBufAllocator.HandleDetermine if the current read loop should continue.- Specified by:
continueReadingin interfaceRecvByteBufAllocator.Handle- Returns:
trueif the read loop should continue reading.falseif the read loop is complete.
-
continueReading
Description copied from interface:RecvByteBufAllocator.ExtendedHandleSame asRecvByteBufAllocator.Handle.continueReading()except "more data" is determined by the supplier parameter.- Specified by:
continueReadingin interfaceRecvByteBufAllocator.ExtendedHandle- Parameters:
maybeMoreDataSupplier- A supplier that determines if there maybe more data to read.
-
readComplete
public void readComplete()Description copied from interface:RecvByteBufAllocator.HandleThe read has completed.- Specified by:
readCompletein interfaceRecvByteBufAllocator.Handle
-
attemptedBytesRead
public int attemptedBytesRead()Description copied from interface:RecvByteBufAllocator.HandleGet how many bytes the read operation will (or did) attempt to read.- Specified by:
attemptedBytesReadin interfaceRecvByteBufAllocator.Handle- Returns:
- How many bytes the read operation will (or did) attempt to read.
-
attemptedBytesRead
public void attemptedBytesRead(int bytes) Description copied from interface:RecvByteBufAllocator.HandleSet how many bytes the read operation will (or did) attempt to read.- Specified by:
attemptedBytesReadin interfaceRecvByteBufAllocator.Handle- Parameters:
bytes- How many bytes the read operation will (or did) attempt to read.
-
totalBytesRead
protected final int totalBytesRead()
-