Package org.jboss.netty.channel
Class SimpleChannelUpstreamHandler
- java.lang.Object
-
- org.jboss.netty.channel.SimpleChannelUpstreamHandler
-
- All Implemented Interfaces:
ChannelHandler
,ChannelUpstreamHandler
- Direct Known Subclasses:
AutobahnServerHandler
,BlockingReadHandler
,DiscardClientHandler
,DiscardServerHandler
,EchoClientHandler
,EchoServerHandler
,FactorialClientHandler
,FactorialServerHandler
,FrameDecoder
,HexDumpProxyInboundHandler
,HttpChunkAggregator
,HttpContentDecoder
,HttpHelloWorldServerHandler
,HttpSnoopClientHandler
,HttpSnoopServerHandler
,HttpStaticFileServerHandler
,HttpUploadClientHandler
,HttpUploadServerHandler
,IdleStateAwareChannelUpstreamHandler
,IdleStateHandler
,LocalTimeClientHandler
,LocalTimeServerHandler
,ObjectEchoClientHandler
,ObjectEchoServerHandler
,QuoteOfTheMomentClientHandler
,QuoteOfTheMomentServerHandler
,ReadTimeoutHandler
,SecureChatClientHandler
,SecureChatServerHandler
,SpdySessionHandler
,TelnetClientHandler
,TelnetServerHandler
,UptimeClientHandler
,WebSocketClientHandler
,WebSocketServerHandler
,WebSocketServerProtocolHandler
,WebSocketServerProtocolHandshakeHandler
public class SimpleChannelUpstreamHandler extends Object implements ChannelUpstreamHandler
AChannelUpstreamHandler
which provides an individual handler method for each event type. This handler down-casts the received upstream event into more meaningful sub-type event and calls an appropriate handler method with the down-cast event. The names of the methods are identical to the upstream event names, as introduced in theChannelEvent
documentation.Please use
SimpleChannelHandler
if you need to implement bothChannelUpstreamHandler
andChannelDownstreamHandler
.Overriding the
handleUpstream
methodYou can override the
handleUpstream
method just like overriding an ordinary Java method. Please make sure to callsuper.handleUpstream()
so that other handler methods are invoked properly:public class MyChannelHandler extends
SimpleChannelUpstreamHandler
{@Override
public void handleUpstream(ChannelHandlerContext
ctx,ChannelEvent
e) throws Exception { // Log all channel state changes. if (e instanceofChannelStateEvent
) { logger.info("Channel state changed: " + e); } super.handleUpstream(ctx, e); } }
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.jboss.netty.channel.ChannelHandler
ChannelHandler.Sharable
-
-
Constructor Summary
Constructors Constructor Description SimpleChannelUpstreamHandler()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
channelBound(ChannelHandlerContext ctx, ChannelStateEvent e)
Invoked when aChannel
is open and bound to a local address, but not connected.void
channelClosed(ChannelHandlerContext ctx, ChannelStateEvent e)
Invoked when aChannel
was closed and all its related resources were released.void
channelConnected(ChannelHandlerContext ctx, ChannelStateEvent e)
Invoked when aChannel
is open, bound to a local address, and connected to a remote address.void
channelDisconnected(ChannelHandlerContext ctx, ChannelStateEvent e)
Invoked when aChannel
was disconnected from its remote peer.void
channelInterestChanged(ChannelHandlerContext ctx, ChannelStateEvent e)
Invoked when aChannel
'sinterestOps
was changed.void
channelOpen(ChannelHandlerContext ctx, ChannelStateEvent e)
Invoked when aChannel
is open, but not bound nor connected.void
channelUnbound(ChannelHandlerContext ctx, ChannelStateEvent e)
Invoked when aChannel
was unbound from the current local address.void
childChannelClosed(ChannelHandlerContext ctx, ChildChannelStateEvent e)
Invoked when a childChannel
was closed.void
childChannelOpen(ChannelHandlerContext ctx, ChildChannelStateEvent e)
Invoked when a childChannel
was open.void
exceptionCaught(ChannelHandlerContext ctx, ExceptionEvent e)
Invoked when an exception was raised by an I/O thread or aChannelHandler
.void
handleUpstream(ChannelHandlerContext ctx, ChannelEvent e)
Handles the specified upstream event.void
messageReceived(ChannelHandlerContext ctx, MessageEvent e)
Invoked when a message object (e.g:ChannelBuffer
) was received from a remote peer.void
writeComplete(ChannelHandlerContext ctx, WriteCompletionEvent e)
Invoked when something was written into aChannel
.
-
-
-
Method Detail
-
handleUpstream
public void handleUpstream(ChannelHandlerContext ctx, ChannelEvent e) throws Exception
Handles the specified upstream event. Down-casts the received upstream event into more meaningful sub-type event and calls an appropriate handler method with the down-casted event.- Specified by:
handleUpstream
in interfaceChannelUpstreamHandler
- Parameters:
ctx
- the context object for this handlere
- the upstream event to process or intercept- Throws:
Exception
-
messageReceived
public void messageReceived(ChannelHandlerContext ctx, MessageEvent e) throws Exception
Invoked when a message object (e.g:ChannelBuffer
) was received from a remote peer.- Throws:
Exception
-
exceptionCaught
public void exceptionCaught(ChannelHandlerContext ctx, ExceptionEvent e) throws Exception
Invoked when an exception was raised by an I/O thread or aChannelHandler
.- Throws:
Exception
-
channelOpen
public void channelOpen(ChannelHandlerContext ctx, ChannelStateEvent e) throws Exception
Invoked when aChannel
is open, but not bound nor connected.
Be aware that this event is fired from within the I/O thread. You should never execute any heavy operation in there as it will block the dispatching to other workers!- Throws:
Exception
-
channelBound
public void channelBound(ChannelHandlerContext ctx, ChannelStateEvent e) throws Exception
Invoked when aChannel
is open and bound to a local address, but not connected.
Be aware that this event is fired from within the I/O thread. You should never execute any heavy operation in there as it will block the dispatching to other workers!- Throws:
Exception
-
channelConnected
public void channelConnected(ChannelHandlerContext ctx, ChannelStateEvent e) throws Exception
Invoked when aChannel
is open, bound to a local address, and connected to a remote address.
Be aware that this event is fired from within the I/O thread. You should never execute any heavy operation in there as it will block the dispatching to other workers!- Throws:
Exception
-
channelInterestChanged
public void channelInterestChanged(ChannelHandlerContext ctx, ChannelStateEvent e) throws Exception
Invoked when aChannel
'sinterestOps
was changed.- Throws:
Exception
-
channelDisconnected
public void channelDisconnected(ChannelHandlerContext ctx, ChannelStateEvent e) throws Exception
Invoked when aChannel
was disconnected from its remote peer.- Throws:
Exception
-
channelUnbound
public void channelUnbound(ChannelHandlerContext ctx, ChannelStateEvent e) throws Exception
Invoked when aChannel
was unbound from the current local address.- Throws:
Exception
-
channelClosed
public void channelClosed(ChannelHandlerContext ctx, ChannelStateEvent e) throws Exception
Invoked when aChannel
was closed and all its related resources were released.- Throws:
Exception
-
writeComplete
public void writeComplete(ChannelHandlerContext ctx, WriteCompletionEvent e) throws Exception
Invoked when something was written into aChannel
.- Throws:
Exception
-
childChannelOpen
public void childChannelOpen(ChannelHandlerContext ctx, ChildChannelStateEvent e) throws Exception
Invoked when a childChannel
was open. (e.g. a server channel accepted a connection)- Throws:
Exception
-
childChannelClosed
public void childChannelClosed(ChannelHandlerContext ctx, ChildChannelStateEvent e) throws Exception
Invoked when a childChannel
was closed. (e.g. the accepted connection was closed)- Throws:
Exception
-
-