Package io.netty.handler.codec.http2
Class DefaultHttp2FrameReader
- java.lang.Object
-
- io.netty.handler.codec.http2.DefaultHttp2FrameReader
-
- All Implemented Interfaces:
Http2FrameReader,Http2FrameReader.Configuration,Http2FrameSizePolicy,java.io.Closeable,java.lang.AutoCloseable
public class DefaultHttp2FrameReader extends java.lang.Object implements Http2FrameReader, Http2FrameSizePolicy, Http2FrameReader.Configuration
AHttp2FrameReaderthat supports all frame types defined by the HTTP/2 specification.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected classDefaultHttp2FrameReader.HeadersBlockBuilderUtility class to help with construction of the headers block that may potentially span multiple frames.-
Nested classes/interfaces inherited from interface io.netty.handler.codec.http2.Http2FrameReader
Http2FrameReader.Configuration
-
-
Constructor Summary
Constructors Constructor Description DefaultHttp2FrameReader()Create a new instance.DefaultHttp2FrameReader(boolean validateHeaders)Create a new instance.DefaultHttp2FrameReader(Http2HeadersDecoder headersDecoder)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()Closes this reader and frees any allocated resources.Http2FrameReader.Configurationconfiguration()Get the configuration related elements for thisHttp2FrameReaderHttp2FrameSizePolicyframeSizePolicy()Get theHttp2FrameSizePolicyfor thisHttp2FrameReaderHttp2HeadersDecoder.ConfigurationheadersConfiguration()Get theHttp2HeadersDecoder.Configurationfor thisHttp2FrameReaderintmaxFrameSize()Gets the maximum allowed frame size.voidmaxFrameSize(int max)Sets the maximum allowed frame size.voidreadFrame(ChannelHandlerContext ctx, ByteBuf input, Http2FrameListener listener)Attempts to read the next frame from the input buffer.
-
-
-
Constructor Detail
-
DefaultHttp2FrameReader
public DefaultHttp2FrameReader()
Create a new instance.Header names will be validated.
-
DefaultHttp2FrameReader
public DefaultHttp2FrameReader(boolean validateHeaders)
Create a new instance.- Parameters:
validateHeaders-trueto validate headers.falseto not validate headers.- See Also:
DefaultHttp2HeadersDecoder(boolean)
-
DefaultHttp2FrameReader
public DefaultHttp2FrameReader(Http2HeadersDecoder headersDecoder)
-
-
Method Detail
-
headersConfiguration
public Http2HeadersDecoder.Configuration headersConfiguration()
Description copied from interface:Http2FrameReader.ConfigurationGet theHttp2HeadersDecoder.Configurationfor thisHttp2FrameReader- Specified by:
headersConfigurationin interfaceHttp2FrameReader.Configuration
-
configuration
public Http2FrameReader.Configuration configuration()
Description copied from interface:Http2FrameReaderGet the configuration related elements for thisHttp2FrameReader- Specified by:
configurationin interfaceHttp2FrameReader
-
frameSizePolicy
public Http2FrameSizePolicy frameSizePolicy()
Description copied from interface:Http2FrameReader.ConfigurationGet theHttp2FrameSizePolicyfor thisHttp2FrameReader- Specified by:
frameSizePolicyin interfaceHttp2FrameReader.Configuration
-
maxFrameSize
public void maxFrameSize(int max) throws Http2ExceptionDescription copied from interface:Http2FrameSizePolicySets the maximum allowed frame size. Attempts to write frames longer than this maximum will fail.This value is used to represent SETTINGS_MAX_FRAME_SIZE. This method should only be called by Netty (not users) as a result of a receiving a
SETTINGSframe.- Specified by:
maxFrameSizein interfaceHttp2FrameSizePolicy- Throws:
Http2Exception
-
maxFrameSize
public int maxFrameSize()
Description copied from interface:Http2FrameSizePolicyGets the maximum allowed frame size.This value is used to represent SETTINGS_MAX_FRAME_SIZE. The initial value defined by the RFC is unlimited but enforcing a lower limit is generally permitted.
Http2CodecUtil.DEFAULT_MAX_FRAME_SIZEcan be used as a more conservative default.- Specified by:
maxFrameSizein interfaceHttp2FrameSizePolicy
-
close
public void close()
Description copied from interface:Http2FrameReaderCloses this reader and frees any allocated resources.- Specified by:
closein interfacejava.lang.AutoCloseable- Specified by:
closein interfacejava.io.Closeable- Specified by:
closein interfaceHttp2FrameReader
-
readFrame
public void readFrame(ChannelHandlerContext ctx, ByteBuf input, Http2FrameListener listener) throws Http2Exception
Description copied from interface:Http2FrameReaderAttempts to read the next frame from the input buffer. If enough data is available to fully read the frame, notifies the listener of the read frame.- Specified by:
readFramein interfaceHttp2FrameReader- Throws:
Http2Exception
-
-