Class HandlerSubscriber<T>
java.lang.Object
io.netty.channel.ChannelHandlerAdapter
io.netty.channel.ChannelInboundHandlerAdapter
io.netty.channel.ChannelDuplexHandler
org.playframework.netty.HandlerSubscriber<T>
- All Implemented Interfaces:
io.netty.channel.ChannelHandler, io.netty.channel.ChannelInboundHandler, io.netty.channel.ChannelOutboundHandler, org.reactivestreams.Subscriber<T>
public class HandlerSubscriber<T>
extends io.netty.channel.ChannelDuplexHandler
implements org.reactivestreams.Subscriber<T>
Subscriber that publishes received messages to the handler pipeline.
-
Nested Class Summary
Nested classes/interfaces inherited from interface io.netty.channel.ChannelHandler
io.netty.channel.ChannelHandler.Sharable -
Constructor Summary
ConstructorsConstructorDescriptionHandlerSubscriber(io.netty.util.concurrent.EventExecutor executor) Create a new handler subscriber with the default low and high watermarks.HandlerSubscriber(io.netty.util.concurrent.EventExecutor executor, long demandLowWatermark, long demandHighWatermark) Create a new handler subscriber. -
Method Summary
Modifier and TypeMethodDescriptionvoidchannelActive(io.netty.channel.ChannelHandlerContext ctx) voidchannelInactive(io.netty.channel.ChannelHandlerContext ctx) voidchannelRegistered(io.netty.channel.ChannelHandlerContext ctx) voidchannelWritabilityChanged(io.netty.channel.ChannelHandlerContext ctx) protected voidcomplete()Override for custom completion handling.protected voidOverride for custom error handling.voidexceptionCaught(io.netty.channel.ChannelHandlerContext ctx, Throwable cause) voidhandlerAdded(io.netty.channel.ChannelHandlerContext ctx) voidhandlerRemoved(io.netty.channel.ChannelHandlerContext ctx) voidvoidvoidvoidonSubscribe(org.reactivestreams.Subscription subscription) Methods inherited from class io.netty.channel.ChannelDuplexHandler
bind, close, connect, deregister, disconnect, flush, read, writeMethods inherited from class io.netty.channel.ChannelInboundHandlerAdapter
channelRead, channelReadComplete, channelUnregistered, userEventTriggeredMethods inherited from class io.netty.channel.ChannelHandlerAdapter
ensureNotSharable, isSharable
-
Constructor Details
-
HandlerSubscriber
public HandlerSubscriber(io.netty.util.concurrent.EventExecutor executor, long demandLowWatermark, long demandHighWatermark) Create a new handler subscriber. The supplied executor must be the same event loop as the event loop that this handler is eventually registered with, if not, an exception will be thrown when the handler is registered.- Parameters:
executor- The executor to execute asynchronous events from the publisher on.demandLowWatermark- The low watermark for demand. When demand drops below this, more will be requested.demandHighWatermark- The high watermark for demand. This is the maximum that will be requested.
-
HandlerSubscriber
public HandlerSubscriber(io.netty.util.concurrent.EventExecutor executor) Create a new handler subscriber with the default low and high watermarks. The supplied executor must be the same event loop as the event loop that this handler is eventually registered with, if not, an exception will be thrown when the handler is registered.- Parameters:
executor- The executor to execute asynchronous events from the publisher on.- See Also:
-
-
Method Details
-
error
Override for custom error handling. By default, it closes the channel.- Parameters:
error- The error to handle.
-
complete
protected void complete()Override for custom completion handling. By default, it closes the channel. -
handlerAdded
-
channelRegistered
-
channelWritabilityChanged
- Specified by:
channelWritabilityChangedin interfaceio.netty.channel.ChannelInboundHandler- Overrides:
channelWritabilityChangedin classio.netty.channel.ChannelInboundHandlerAdapter- Throws:
Exception
-
channelActive
-
channelInactive
-
handlerRemoved
-
exceptionCaught
public void exceptionCaught(io.netty.channel.ChannelHandlerContext ctx, Throwable cause) throws Exception - Specified by:
exceptionCaughtin interfaceio.netty.channel.ChannelHandler- Specified by:
exceptionCaughtin interfaceio.netty.channel.ChannelInboundHandler- Overrides:
exceptionCaughtin classio.netty.channel.ChannelInboundHandlerAdapter- Throws:
Exception
-
onSubscribe
public void onSubscribe(org.reactivestreams.Subscription subscription) - Specified by:
onSubscribein interfaceorg.reactivestreams.Subscriber<T>
-
onNext
-
onError
-
onComplete
public void onComplete()- Specified by:
onCompletein interfaceorg.reactivestreams.Subscriber<T>
-