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
Decodes
ByteBuf
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 io.netty.handler.codec.ByteToMessageDecoder
ByteToMessageDecoder.Cumulator
Nested classes/interfaces inherited from interface io.netty.channel.ChannelHandler
ChannelHandler.Sharable
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final int
Constant for default max content length.private boolean
True if the message to decode is a request.private static final HttpResponseStatus
Status code for unknown responses.private static final Pattern
Regex used on first line in message to detect if it is a response.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_VALIDATE_HEADERS, headersFactory, trailersFactory, validateHeaders
Fields inherited from class io.netty.handler.codec.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 HttpMessage
protected HttpMessage
createMessage
(String[] initialLine) protected boolean
protected boolean
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 Details
-
UNKNOWN_STATUS
Status code for unknown responses. -
isDecodingRequest
private boolean isDecodingRequestTrue if the message to decode is a request. False if the message to decode is a response. -
versionPattern
Regex used on first line in message to detect if it is a response. -
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:
createMessage
in classHttpObjectDecoder
- Throws:
Exception
-
isContentAlwaysEmpty
- Overrides:
isContentAlwaysEmpty
in classHttpObjectDecoder
-
createInvalidMessage
- Specified by:
createInvalidMessage
in classHttpObjectDecoder
-
isDecodingRequest
protected boolean isDecodingRequest()- Specified by:
isDecodingRequest
in classHttpObjectDecoder
-
RtspDecoder(HttpDecoderConfig)
constructor instead, or theRtspDecoder(int, int, int)
to always enable header validation.