Class RtspObjectDecoder
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.RtspObjectDecoder
- All Implemented Interfaces:
ChannelHandler, ChannelInboundHandler
Deprecated.
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.SharableModifier and TypeInterfaceDescriptionstatic @interfaceIndicates that the same instance of the annotatedChannelHandlercan be added to one or moreChannelPipelines multiple times without a race condition. -
Field Summary
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, PROP_RFC9112_TRANSFER_ENCODING, RFC9112_TRANSFER_ENCODING, trailersFactory, validateHeadersModifier and TypeFieldDescriptionstatic final booleanstatic final booleanstatic final booleanstatic final intstatic final intstatic final intstatic final intstatic final booleanstatic final booleanprotected final HttpHeadersFactorystatic final Stringstatic final booleanprotected final HttpHeadersFactoryprotected final booleanDeprecated.Fields inherited from class ByteToMessageDecoder
COMPOSITE_CUMULATOR, MERGE_CUMULATORModifier and TypeFieldDescriptionstatic final ByteToMessageDecoder.CumulatorCumulateByteBufs by add them to aCompositeByteBufand so do no memory copy whenever possible.static final ByteToMessageDecoder.Cumulator -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedDeprecated.Creates a new instance with the defaultmaxInitialLineLength (4096),maxHeaderSize (8192), andmaxContentLength (8192).protectedRtspObjectDecoder(int maxInitialLineLength, int maxHeaderSize, int maxContentLength) Deprecated.Creates a new instance with the specified parameters.protectedRtspObjectDecoder(int maxInitialLineLength, int maxHeaderSize, int maxContentLength, boolean validateHeaders) Deprecated. -
Method Summary
Modifier and TypeMethodDescriptionprotected booleanDeprecated.Methods inherited from class HttpObjectDecoder
clearContentLength, createInvalidMessage, createMessage, decode, decodeLast, handlerRemoved0, handleTransferEncodingChunkedWithContentLength, isDecodingRequest, isSwitchingToNonHttp1Protocol, isValidating, reset, splitFirstWordInitialLine, splitHeaderName, splitSecondWordInitialLine, splitThirdWordInitialLine, userEventTriggeredModifier and TypeMethodDescriptionprotected final voidprotected abstract HttpMessageprotected abstract HttpMessagecreateMessage(String[] initialLine) protected voiddecode(ChannelHandlerContext ctx, ByteBuf buffer, List<Object> out) Decode the from oneByteBufto an other.protected voiddecodeLast(ChannelHandlerContext ctx, ByteBuf in, List<Object> out) Is called one last time when theChannelHandlerContextgoes in-active.protected voidGets called after theByteToMessageDecoderwas removed from the actual context and it doesn't handle events anymore.protected voidInvoked when a message with both a "Transfer-Encoding: chunked" and a "Content-Length" header field is detected.protected abstract booleanprotected booleanReturns true if the server switched to a different protocol than HTTP/1.0 or HTTP/1.1, e.g.protected booleanisValidating(HttpHeadersFactory headersFactory) voidreset()Resets the state of the decoder so that it is ready to decode a new message.protected StringsplitFirstWordInitialLine(byte[] asciiContent, int start, int length) protected AsciiStringsplitHeaderName(byte[] sb, int start, int length) protected StringsplitSecondWordInitialLine(byte[] asciiContent, int start, int length) protected StringsplitThirdWordInitialLine(byte[] asciiContent, int start, int length) voiduserEventTriggered(ChannelHandlerContext ctx, Object evt) CallsChannelHandlerContext.fireUserEventTriggered(Object)to forward to the nextChannelInboundHandlerin theChannelPipeline.Methods inherited from class ByteToMessageDecoder
actualReadableBytes, callDecode, channelInactive, channelRead, channelReadComplete, discardSomeReadBytes, handlerRemoved, internalBuffer, isSingleDecode, setCumulator, setDiscardAfterReads, setSingleDecodeModifier and TypeMethodDescriptionprotected intReturns the actual number of readable bytes in the internal cumulative buffer of this decoder.protected voidcallDecode(ChannelHandlerContext ctx, ByteBuf in, List<Object> out) Called once data should be decoded from the givenByteBuf.voidCallsChannelHandlerContext.fireChannelInactive()to forward to the nextChannelInboundHandlerin theChannelPipeline.voidchannelRead(ChannelHandlerContext ctx, Object input) CallsChannelHandlerContext.fireChannelRead(Object)to forward to the nextChannelInboundHandlerin theChannelPipeline.voidCallsChannelHandlerContext.fireChannelReadComplete()to forward to the nextChannelInboundHandlerin theChannelPipeline.protected final voidfinal voidDo nothing by default, sub-classes may override this method.protected ByteBufReturns the internal cumulative buffer of this decoder.booleanIftruethen only one message is decoded on eachByteToMessageDecoder.channelRead(ChannelHandlerContext, Object)call.voidsetCumulator(ByteToMessageDecoder.Cumulator cumulator) Set theByteToMessageDecoder.Cumulatorto use for cumulate the receivedByteBufs.voidsetDiscardAfterReads(int discardAfterReads) Set the number of reads after whichByteBuf.discardSomeReadBytes()are called and so free up memory.voidsetSingleDecode(boolean singleDecode) If set then only one message is decoded on eachByteToMessageDecoder.channelRead(ChannelHandlerContext, Object)call.Methods inherited from class ChannelInboundHandlerAdapter
channelActive, channelRegistered, channelUnregistered, channelWritabilityChanged, exceptionCaughtModifier and TypeMethodDescriptionvoidCallsChannelHandlerContext.fireChannelActive()to forward to the nextChannelInboundHandlerin theChannelPipeline.voidCallsChannelHandlerContext.fireChannelRegistered()to forward to the nextChannelInboundHandlerin theChannelPipeline.voidCallsChannelHandlerContext.fireChannelUnregistered()to forward to the nextChannelInboundHandlerin theChannelPipeline.voidCallsChannelHandlerContext.fireChannelWritabilityChanged()to forward to the nextChannelInboundHandlerin theChannelPipeline.voidexceptionCaught(ChannelHandlerContext ctx, Throwable cause) CallsChannelHandlerContext.fireExceptionCaught(Throwable)to forward to the nextChannelHandlerin theChannelPipeline.Methods inherited from class ChannelHandlerAdapter
ensureNotSharable, handlerAdded, isSharableModifier and TypeMethodDescriptionprotected voidvoidDo nothing by default, sub-classes may override this method.booleanReturntrueif the implementation isChannelHandler.Sharableand so can be added to differentChannelPipelines.
-
Constructor Details
-
RtspObjectDecoder
protected RtspObjectDecoder()Deprecated.Creates a new instance with the defaultmaxInitialLineLength (4096),maxHeaderSize (8192), andmaxContentLength (8192). -
RtspObjectDecoder
protected RtspObjectDecoder(int maxInitialLineLength, int maxHeaderSize, int maxContentLength) Deprecated.Creates a new instance with the specified parameters. -
RtspObjectDecoder
protected RtspObjectDecoder(int maxInitialLineLength, int maxHeaderSize, int maxContentLength, boolean validateHeaders) Deprecated.
-
-
Method Details
-
isContentAlwaysEmpty
Deprecated.- Overrides:
isContentAlwaysEmptyin classHttpObjectDecoder
-
RtspDecoderinstead.