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
Decodes
ByteBufs into RTSP messages represented in
HttpMessages.
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 ByteToMessageDecoder
ByteToMessageDecoder.CumulatorNested classes/interfaces inherited from interface ChannelHandler
ChannelHandler.Sharable -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intConstant for default max content length.Fields inherited from class 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, validateHeadersFields inherited from class ByteToMessageDecoder
COMPOSITE_CUMULATOR, MERGE_CUMULATOR -
Constructor Summary
ConstructorsConstructorDescriptionCreates 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.RtspDecoder(HttpDecoderConfig config) Creates a new instance with the specified configuration. -
Method Summary
Modifier and TypeMethodDescriptionprotected HttpMessageprotected HttpMessagecreateMessage(String[] initialLine) protected booleanprotected booleanMethods inherited from class HttpObjectDecoder
decode, decodeLast, handlerRemoved0, handleTransferEncodingChunkedWithContentLength, isSwitchingToNonHttp1Protocol, isValidating, reset, splitFirstWordInitialLine, splitHeaderName, splitSecondWordInitialLine, splitThirdWordInitialLine, userEventTriggeredMethods inherited from class ByteToMessageDecoder
actualReadableBytes, callDecode, channelInactive, channelRead, channelReadComplete, discardSomeReadBytes, handlerRemoved, internalBuffer, isSingleDecode, setCumulator, setDiscardAfterReads, setSingleDecodeMethods inherited from class ChannelInboundHandlerAdapter
channelActive, channelRegistered, channelUnregistered, channelWritabilityChanged, exceptionCaughtMethods inherited from class ChannelHandlerAdapter
ensureNotSharable, handlerAdded, isSharableMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface ChannelHandler
handlerAdded
-
Field Details
-
DEFAULT_MAX_CONTENT_LENGTH
public static final int DEFAULT_MAX_CONTENT_LENGTHConstant for default max content length.- See Also:
-
-
Constructor Details
-
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
Creates a new instance with the specified configuration.
-
-
Method Details
-
createMessage
- Specified by:
createMessagein classHttpObjectDecoder- Throws:
Exception
-
isContentAlwaysEmpty
- Overrides:
isContentAlwaysEmptyin classHttpObjectDecoder
-
createInvalidMessage
- Specified by:
createInvalidMessagein classHttpObjectDecoder
-
isDecodingRequest
protected boolean isDecodingRequest()- Specified by:
isDecodingRequestin classHttpObjectDecoder
-
RtspDecoder(HttpDecoderConfig)constructor instead, or theRtspDecoder(int, int, int)to always enable header validation.