org.jboss.netty.channel

## Class SimpleChannelUpstreamHandler

- java.lang.Object
- - org.jboss.netty.channel.SimpleChannelUpstreamHandler

- All Implemented Interfaces:
    ChannelHandler, ChannelUpstreamHandler
  Direct Known Subclasses:
    BlockingReadHandler, FrameDecoder, HttpChunkAggregator, HttpContentDecoder, IdleStateAwareChannelUpstreamHandler, IdleStateHandler, ReadTimeoutHandler, SpdySessionHandler

      public class SimpleChannelUpstreamHandler
      extends Object
      implements ChannelUpstreamHandler

  A `ChannelUpstreamHandler` 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 the `ChannelEvent` documentation.

  Please use `SimpleChannelHandler` if you need to implement both `ChannelUpstreamHandler` and `ChannelDownstreamHandler`.

  ### Overriding the `handleUpstream` method

  You can override the `handleUpstream` method just like overriding an ordinary Java method. Please make sure to call `super.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 instanceof ChannelStateEvent) {
                   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 and Description
    `SimpleChannelUpstreamHandler()` Creates a new instance.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `channelBound(ChannelHandlerContext ctx, ChannelStateEvent e)` Invoked when a `Channel` is open and bound to a local address, but not connected.
    `void` | `channelClosed(ChannelHandlerContext ctx, ChannelStateEvent e)` Invoked when a `Channel` was closed and all its related resources were released.
    `void` | `channelConnected(ChannelHandlerContext ctx, ChannelStateEvent e)` Invoked when a `Channel` is open, bound to a local address, and connected to a remote address.
    `void` | `channelDisconnected(ChannelHandlerContext ctx, ChannelStateEvent e)` Invoked when a `Channel` was disconnected from its remote peer.
    `void` | `channelInterestChanged(ChannelHandlerContext ctx, ChannelStateEvent e)` Invoked when a `Channel`'s `interestOps` was changed.
    `void` | `channelOpen(ChannelHandlerContext ctx, ChannelStateEvent e)` Invoked when a `Channel` is open, but not bound nor connected.
    `void` | `channelUnbound(ChannelHandlerContext ctx, ChannelStateEvent e)` Invoked when a `Channel` was unbound from the current local address.
    `void` | `childChannelClosed(ChannelHandlerContext ctx, ChildChannelStateEvent e)` Invoked when a child `Channel` was closed.
    `void` | `childChannelOpen(ChannelHandlerContext ctx, ChildChannelStateEvent e)` Invoked when a child `Channel` was open.
    `void` | `exceptionCaught(ChannelHandlerContext ctx, ExceptionEvent e)` Invoked when an exception was raised by an I/O thread or a `ChannelHandler`.
    `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 a `Channel`.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### SimpleChannelUpstreamHandler

          public SimpleChannelUpstreamHandler()

      Creates a new instance.

  - ### 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 interface `ChannelUpstreamHandler`
      Parameters:
        `ctx` - the context object for this handler
        `e` - 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 a `ChannelHandler`.
      Throws:
        `Exception`

    - #### channelOpen

          public void channelOpen(ChannelHandlerContext ctx,
                         ChannelStateEvent e)
                           throws Exception

      Invoked when a `Channel` is open, but not bound nor connected.
      Be aware that this event is fired from within the Boss-Thread so you should not 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 a `Channel` is open and bound to a local address, but not connected.
      Be aware that this event is fired from within the Boss-Thread so you should not 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 a `Channel` is open, bound to a local address, and connected to a remote address.
      Be aware that this event is fired from within the Boss-Thread so you should not 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 a `Channel`'s `interestOps` was changed.
      Throws:
        `Exception`

    - #### channelDisconnected

          public void channelDisconnected(ChannelHandlerContext ctx,
                                 ChannelStateEvent e)
                                   throws Exception

      Invoked when a `Channel` was disconnected from its remote peer.
      Throws:
        `Exception`

    - #### channelUnbound

          public void channelUnbound(ChannelHandlerContext ctx,
                            ChannelStateEvent e)
                              throws Exception

      Invoked when a `Channel` was unbound from the current local address.
      Throws:
        `Exception`

    - #### channelClosed

          public void channelClosed(ChannelHandlerContext ctx,
                           ChannelStateEvent e)
                             throws Exception

      Invoked when a `Channel` 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 a `Channel`.
      Throws:
        `Exception`

    - #### childChannelOpen

          public void childChannelOpen(ChannelHandlerContext ctx,
                              ChildChannelStateEvent e)
                                throws Exception

      Invoked when a child `Channel` 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 child `Channel` was closed. (e.g. the accepted connection was closed)
      Throws:
        `Exception`

Copyright © 2008-2012 The Netty Project. All Rights Reserved.