- java.lang.Object
-
- io.netty5.channel.ChannelHandlerAdapter
-
- io.netty5.handler.codec.ByteToMessageDecoder
-
- io.netty5.handler.codec.http.HttpObjectDecoder
-
- io.netty5.handler.codec.rtsp.RtspDecoder
-
- All Implemented Interfaces:
ChannelHandler
public class RtspDecoder extends HttpObjectDecoder
Decodesio.netty5.buffer.ByteBuf
s into RTSP messages represented inHttpMessage
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, aTooLongFrameException
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.netty5.handler.codec.ByteToMessageDecoder
ByteToMessageDecoder.Cumulator
-
-
Field Summary
Fields Modifier and Type Field Description static int
DEFAULT_MAX_CONTENT_LENGTH
Constant for default max content length.-
Fields inherited from class io.netty5.handler.codec.http.HttpObjectDecoder
DEFAULT_ALLOW_DUPLICATE_CONTENT_LENGTHS, DEFAULT_CHUNKED_SUPPORTED, DEFAULT_INITIAL_BUFFER_SIZE, DEFAULT_MAX_HEADER_SIZE, DEFAULT_MAX_INITIAL_LINE_LENGTH, DEFAULT_VALIDATE_HEADERS, validateHeaders
-
Fields inherited from class io.netty5.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)
Creates a new instance with the specified parameters.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected HttpMessage
createInvalidMessage(ChannelHandlerContext ctx)
protected HttpMessage
createMessage(String[] initialLine)
protected boolean
isContentAlwaysEmpty(HttpMessage msg)
protected boolean
isDecodingRequest()
-
Methods inherited from class io.netty5.handler.codec.http.HttpObjectDecoder
channelInboundEvent, decode, decodeLast, handleTransferEncodingChunkedWithContentLength, isSwitchingToNonHttp1Protocol, reset
-
Methods inherited from class io.netty5.handler.codec.ByteToMessageDecoder
actualReadableBytes, channelInactive, channelRead, channelReadComplete, channelShutdown, discardSomeReadBytes, handlerAdded, handlerAdded0, handlerRemoved, handlerRemoved0, internalBuffer, isSharable, isSingleDecode, setSingleDecode
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface io.netty5.channel.ChannelHandler
bind, channelActive, channelExceptionCaught, channelRegistered, channelUnregistered, channelWritabilityChanged, close, connect, deregister, disconnect, flush, pendingOutboundBytes, read, register, sendOutboundEvent, shutdown, write
-
-
-
-
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
public RtspDecoder(int maxInitialLineLength, int maxHeaderSize, int maxContentLength, boolean validateHeaders)
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
-
-
Method Detail
-
createMessage
protected HttpMessage createMessage(String[] initialLine) throws Exception
- Specified by:
createMessage
in classHttpObjectDecoder
- Throws:
Exception
-
isContentAlwaysEmpty
protected boolean isContentAlwaysEmpty(HttpMessage msg)
- Overrides:
isContentAlwaysEmpty
in classHttpObjectDecoder
-
createInvalidMessage
protected HttpMessage createInvalidMessage(ChannelHandlerContext ctx)
- Specified by:
createInvalidMessage
in classHttpObjectDecoder
-
isDecodingRequest
protected boolean isDecodingRequest()
- Specified by:
isDecodingRequest
in classHttpObjectDecoder
-
-