org.jboss.netty.handler.codec.rtsp

## Class RtspMessageDecoder

- java.lang.Object
- - org.jboss.netty.channel.SimpleChannelUpstreamHandler
  - - org.jboss.netty.handler.codec.frame.FrameDecoder
    - - org.jboss.netty.handler.codec.replay.ReplayingDecoder<HttpMessageDecoder.State>
      - - org.jboss.netty.handler.codec.http.HttpMessageDecoder
        - - org.jboss.netty.handler.codec.rtsp.RtspMessageDecoder

- All Implemented Interfaces:
    ChannelHandler, ChannelUpstreamHandler, LifeCycleAwareChannelHandler
  Direct Known Subclasses:
    RtspRequestDecoder, RtspResponseDecoder

      public abstract class RtspMessageDecoder
      extends HttpMessageDecoder

  Decodes `ChannelBuffer`s into RTSP messages represented in `HttpMessage`s.

  ### Parameters that prevents excessive memory consumption

  Name | Meaning
  --- | ---
  `maxInitialLineLength` | The maximum length of the initial line (e.g. `"SETUP / RTSP/1.0"` or `"RTSP/1.0 200 OK"`) If the length of the initial line exceeds this value, a `TooLongFrameException` will be raised.
  `maxHeaderSize` | The maximum length of all headers. If the sum of the length of each header exceeds this value, a `TooLongFrameException` will be raised.
  `maxContentLength` | The maximum length of the content. If the content length exceeds this value, a `TooLongFrameException` will be raised.

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class org.jboss.netty.handler.codec.http.HttpMessageDecoder

      `HttpMessageDecoder.State`

    - ### Nested classes/interfaces inherited from interface org.jboss.netty.channel.ChannelHandler

      `ChannelHandler.Sharable`

  - ### Field Summary

    - ### Fields inherited from class org.jboss.netty.handler.codec.frame.FrameDecoder

      `cumulation, DEFAULT_MAX_COMPOSITEBUFFER_COMPONENTS`

  - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `protected` | `RtspMessageDecoder()` Creates a new instance with the default `maxInitialLineLength (4096`}, `maxHeaderSize (8192)`, and `maxContentLength (8192)`.
    `protected` | `RtspMessageDecoder(int maxInitialLineLength, int maxHeaderSize, int maxContentLength)` Creates a new instance with the specified parameters.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected Object` | `decode(ChannelHandlerContext ctx, Channel channel, ChannelBuffer buffer, HttpMessageDecoder.State state)` Decodes the received packets so far into a frame.
    `protected boolean` | `isContentAlwaysEmpty(HttpMessage msg)`

    - ### Methods inherited from class org.jboss.netty.handler.codec.http.HttpMessageDecoder

      `createMessage, isDecodingRequest`

    - ### Methods inherited from class org.jboss.netty.handler.codec.replay.ReplayingDecoder

      `checkpoint, checkpoint, cleanup, decode, decodeLast, decodeLast, getState, internalBuffer, messageReceived, setState`

    - ### Methods inherited from class org.jboss.netty.handler.codec.frame.FrameDecoder

      `actualReadableBytes, afterAdd, afterRemove, appendToCumulation, beforeAdd, beforeRemove, channelClosed, channelDisconnected, exceptionCaught, getMaxCumulationBufferCapacity, getMaxCumulationBufferComponents, isUnfold, newCumulationBuffer, replace, setMaxCumulationBufferCapacity, setMaxCumulationBufferComponents, setUnfold, unfoldAndFireMessageReceived, updateCumulation`

    - ### Methods inherited from class org.jboss.netty.channel.SimpleChannelUpstreamHandler

      `channelBound, channelConnected, channelInterestChanged, channelOpen, channelUnbound, childChannelClosed, childChannelOpen, handleUpstream, writeComplete`

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

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

- - ### Constructor Detail

    - #### RtspMessageDecoder

          protected RtspMessageDecoder()

      Creates a new instance with the default `maxInitialLineLength (4096`}, `maxHeaderSize (8192)`, and `maxContentLength (8192)`.

    - #### RtspMessageDecoder

          protected RtspMessageDecoder(int maxInitialLineLength,
                            int maxHeaderSize,
                            int maxContentLength)

      Creates a new instance with the specified parameters.

  - ### Method Detail

    - #### decode

          protected Object decode(ChannelHandlerContext ctx,
                      Channel channel,
                      ChannelBuffer buffer,
                      HttpMessageDecoder.State state)
                           throws Exception

      Description copied from class: `ReplayingDecoder`
      Decodes the received packets so far into a frame.
      Overrides:
        `decode` in class `HttpMessageDecoder`
      Parameters:
        `ctx` - the context of this handler
        `channel` - the current channel
        `buffer` - the cumulative buffer of received packets so far. Note that the buffer might be empty, which means you should not make an assumption that the buffer contains at least one byte in your decoder implementation.
        `state` - the current decoder state (`null` if unused)
      Returns:
        the decoded frame
      Throws:
        `Exception`

    - #### isContentAlwaysEmpty

          protected boolean isContentAlwaysEmpty(HttpMessage msg)

      Overrides:
        `isContentAlwaysEmpty` in class `HttpMessageDecoder`

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