- java.lang.Object
-
- io.netty5.handler.flow.FlowControlHandler
-
- All Implemented Interfaces:
io.netty5.channel.ChannelHandler
public class FlowControlHandler extends Object implements io.netty5.channel.ChannelHandler
TheFlowControlHandlerensures that only one message perread()is sent downstream. Classes such asByteToMessageDecoderorMessageToByteEncoderare free to emit as many events as they like for any given input. A channel's auto reading configuration doesn't usually apply in these scenarios. This is causing problems in downstreamChannelHandlers that would like to hold subsequent events while they're processing one event. It's a common problem with theHttpObjectDecoderthat will very often fire anHttpRequestthat is immediately followed by aLastHttpContentevent.{@code ChannelPipeline pipeline = ...; pipeline.addLast(new HttpServerCodec()); pipeline.addLast(new FlowControlHandler()); pipeline.addLast(new MyExampleHandler()); class MyExampleHandler extends ChannelInboundHandlerAdapter {
-
-
Constructor Summary
Constructors Constructor Description FlowControlHandler()FlowControlHandler(boolean releaseMessages)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidchannelInactive(io.netty5.channel.ChannelHandlerContext ctx)voidchannelRead(io.netty5.channel.ChannelHandlerContext ctx, Object msg)voidchannelReadComplete(io.netty5.channel.ChannelHandlerContext ctx)voidhandlerRemoved(io.netty5.channel.ChannelHandlerContext ctx)voidread(io.netty5.channel.ChannelHandlerContext ctx, io.netty5.channel.ReadBufferAllocator readBufferAllocator)-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface io.netty5.channel.ChannelHandler
bind, channelActive, channelExceptionCaught, channelInboundEvent, channelRegistered, channelShutdown, channelUnregistered, channelWritabilityChanged, close, connect, deregister, disconnect, flush, handlerAdded, isSharable, pendingOutboundBytes, register, sendOutboundEvent, shutdown, write
-
-
-
-
Method Detail
-
handlerRemoved
public void handlerRemoved(io.netty5.channel.ChannelHandlerContext ctx) throws Exception- Specified by:
handlerRemovedin interfaceio.netty5.channel.ChannelHandler- Throws:
Exception
-
channelInactive
public void channelInactive(io.netty5.channel.ChannelHandlerContext ctx) throws Exception- Specified by:
channelInactivein interfaceio.netty5.channel.ChannelHandler- Throws:
Exception
-
read
public void read(io.netty5.channel.ChannelHandlerContext ctx, io.netty5.channel.ReadBufferAllocator readBufferAllocator)- Specified by:
readin interfaceio.netty5.channel.ChannelHandler
-
channelRead
public void channelRead(io.netty5.channel.ChannelHandlerContext ctx, Object msg) throws Exception- Specified by:
channelReadin interfaceio.netty5.channel.ChannelHandler- Throws:
Exception
-
-