org.jboss.netty.handler.codec.rtsp
Class RtspMessageDecoder

java.lang.Object
  extended by org.jboss.netty.channel.SimpleChannelUpstreamHandler
      extended by org.jboss.netty.handler.codec.replay.ReplayingDecoder<HttpMessageDecoder.State>
          extended by org.jboss.netty.handler.codec.http.HttpMessageDecoder
              extended by org.jboss.netty.handler.codec.rtsp.RtspMessageDecoder
All Implemented Interfaces:
ChannelHandler, ChannelUpstreamHandler
Direct Known Subclasses:
RtspRequestDecoder, RtspResponseDecoder

public abstract class RtspMessageDecoder
extends HttpMessageDecoder

Decodes ChannelBuffers into RTSP messages represented in HttpMessages.

Parameters that prevents excessive memory consumption

NameMeaning
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.

Version:
$Rev: 2282 $, $Date: 2010-05-19 16:51:38 +0900 (Wed, 19 May 2010) $
Author:
The Netty Project, Amit Bhayani, Trustin Lee

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
 
Constructor Summary
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
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
actualReadableBytes, channelClosed, channelDisconnected, checkpoint, checkpoint, decodeLast, exceptionCaught, getState, internalBuffer, messageReceived, setState
 
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-2011 JBoss, a division of Red Hat, Inc.. All Rights Reserved.