Package io.netty.handler.codec.rtsp
Class RtspDecoder
- java.lang.Object
-
- io.netty.channel.ChannelHandlerAdapter
-
- io.netty.channel.ChannelInboundHandlerAdapter
-
- io.netty.handler.codec.ByteToMessageDecoder
-
- io.netty.handler.codec.http.HttpObjectDecoder
-
- io.netty.handler.codec.rtsp.RtspDecoder
-
- All Implemented Interfaces:
ChannelHandler,ChannelInboundHandler
- Direct Known Subclasses:
RtspRequestDecoder,RtspResponseDecoder
public class RtspDecoder extends HttpObjectDecoder
DecodesByteBufs into RTSP messages represented inHttpMessages.Parameters that prevents excessive memory consumption
Name Meaning maxInitialLineLengthThe 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, aTooLongFrameExceptionwill be raised.maxHeaderSizeThe maximum length of all headers. If the sum of the length of each header exceeds this value, a TooLongFrameExceptionwill be raised.maxContentLengthThe maximum length of the content. If the content length exceeds this value, a TooLongFrameExceptionwill be raised.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class io.netty.handler.codec.ByteToMessageDecoder
ByteToMessageDecoder.Cumulator
-
Nested classes/interfaces inherited from interface io.netty.channel.ChannelHandler
ChannelHandler.Sharable
-
-
Field Summary
Fields Modifier and Type Field Description static intDEFAULT_MAX_CONTENT_LENGTHConstant for default max content length.-
Fields inherited from class io.netty.handler.codec.http.HttpObjectDecoder
DEFAULT_ALLOW_DUPLICATE_CONTENT_LENGTHS, DEFAULT_ALLOW_PARTIAL_CHUNKS, DEFAULT_CHUNKED_SUPPORTED, DEFAULT_INITIAL_BUFFER_SIZE, DEFAULT_MAX_CHUNK_SIZE, DEFAULT_MAX_HEADER_SIZE, DEFAULT_MAX_INITIAL_LINE_LENGTH, DEFAULT_STRICT_LINE_PARSING, DEFAULT_VALIDATE_HEADERS, headersFactory, trailersFactory, validateHeaders
-
Fields inherited from class io.netty.handler.codec.ByteToMessageDecoder
COMPOSITE_CUMULATOR, MERGE_CUMULATOR
-
-
Constructor Summary
Constructors Constructor Description RtspDecoder()Creates a new instance with the defaultmaxInitialLineLength (4096),maxHeaderSize (8192), andmaxContentLength (8192).RtspDecoder(int maxInitialLineLength, int maxHeaderSize, int maxContentLength)Creates a new instance with the specified parameters.RtspDecoder(int maxInitialLineLength, int maxHeaderSize, int maxContentLength, boolean validateHeaders)Deprecated.Use theRtspDecoder(HttpDecoderConfig)constructor instead, or theRtspDecoder(int, int, int)to always enable header validation.RtspDecoder(HttpDecoderConfig config)Creates a new instance with the specified configuration.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected HttpMessagecreateInvalidMessage()protected HttpMessagecreateMessage(java.lang.String[] initialLine)protected booleanisContentAlwaysEmpty(HttpMessage msg)protected booleanisDecodingRequest()-
Methods inherited from class io.netty.handler.codec.http.HttpObjectDecoder
decode, decodeLast, handlerRemoved0, handleTransferEncodingChunkedWithContentLength, isSwitchingToNonHttp1Protocol, isValidating, reset, splitFirstWordInitialLine, splitHeaderName, splitSecondWordInitialLine, splitThirdWordInitialLine, userEventTriggered
-
Methods inherited from class io.netty.handler.codec.ByteToMessageDecoder
actualReadableBytes, callDecode, channelInactive, channelRead, channelReadComplete, discardSomeReadBytes, handlerRemoved, internalBuffer, isSingleDecode, setCumulator, setDiscardAfterReads, setSingleDecode
-
Methods inherited from class io.netty.channel.ChannelInboundHandlerAdapter
channelActive, channelRegistered, channelUnregistered, channelWritabilityChanged, exceptionCaught
-
Methods inherited from class io.netty.channel.ChannelHandlerAdapter
ensureNotSharable, handlerAdded, isSharable
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface io.netty.channel.ChannelHandler
handlerAdded
-
-
-
-
Field Detail
-
DEFAULT_MAX_CONTENT_LENGTH
public static final int DEFAULT_MAX_CONTENT_LENGTH
Constant for default max content length.- See Also:
- Constant Field Values
-
-
Constructor Detail
-
RtspDecoder
public RtspDecoder()
Creates a new instance with the defaultmaxInitialLineLength (4096),maxHeaderSize (8192), andmaxContentLength (8192).
-
RtspDecoder
public RtspDecoder(int maxInitialLineLength, int maxHeaderSize, int maxContentLength)Creates a new instance with the specified parameters.- Parameters:
maxInitialLineLength- The max allowed length of initial linemaxHeaderSize- The max allowed size of headermaxContentLength- The max allowed content length
-
RtspDecoder
@Deprecated public RtspDecoder(int maxInitialLineLength, int maxHeaderSize, int maxContentLength, boolean validateHeaders)Deprecated.Use theRtspDecoder(HttpDecoderConfig)constructor instead, or theRtspDecoder(int, int, int)to always enable header validation.Creates a new instance with the specified parameters.- Parameters:
maxInitialLineLength- The max allowed length of initial linemaxHeaderSize- The max allowed size of headermaxContentLength- The max allowed content lengthvalidateHeaders- Set to true if headers should be validated
-
RtspDecoder
public RtspDecoder(HttpDecoderConfig config)
Creates a new instance with the specified configuration.
-
-
Method Detail
-
createMessage
protected HttpMessage createMessage(java.lang.String[] initialLine) throws java.lang.Exception
- Specified by:
createMessagein classHttpObjectDecoder- Throws:
java.lang.Exception
-
isContentAlwaysEmpty
protected boolean isContentAlwaysEmpty(HttpMessage msg)
- Overrides:
isContentAlwaysEmptyin classHttpObjectDecoder
-
createInvalidMessage
protected HttpMessage createInvalidMessage()
- Specified by:
createInvalidMessagein classHttpObjectDecoder
-
isDecodingRequest
protected boolean isDecodingRequest()
- Specified by:
isDecodingRequestin classHttpObjectDecoder
-
-