Package org.eclipse.jetty.http2.parser
Class Parser
- java.lang.Object
-
- org.eclipse.jetty.http2.parser.Parser
-
- Direct Known Subclasses:
ServerParser
public class Parser extends java.lang.ObjectThe HTTP/2 protocol parser.
This parser makes use of the
HeaderParserand ofBodyParsers to parse HTTP/2 frames.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interfaceParser.Listener
-
Constructor Summary
Constructors Constructor Description Parser(ByteBufferPool byteBufferPool, Parser.Listener listener, int maxDynamicTableSize, int maxHeaderSize)Parser(ByteBufferPool byteBufferPool, Parser.Listener listener, int maxDynamicTableSize, int maxHeaderSize, RateControl rateControl)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected intgetFrameType()intgetMaxFrameLength()intgetMaxSettingsKeys()protected booleanhasFlag(int bit)voidinit(java.util.function.UnaryOperator<Parser.Listener> wrapper)protected voidnotifyConnectionFailure(int error, java.lang.String reason)voidparse(java.nio.ByteBuffer buffer)Parses the givenbufferbytes and emit events to aParser.Listener.protected booleanparseBody(java.nio.ByteBuffer buffer)protected booleanparseHeader(java.nio.ByteBuffer buffer)voidsetMaxFrameLength(int maxFrameLength)voidsetMaxSettingsKeys(int maxSettingsKeys)
-
-
-
Constructor Detail
-
Parser
public Parser(ByteBufferPool byteBufferPool, Parser.Listener listener, int maxDynamicTableSize, int maxHeaderSize)
-
Parser
public Parser(ByteBufferPool byteBufferPool, Parser.Listener listener, int maxDynamicTableSize, int maxHeaderSize, RateControl rateControl)
-
-
Method Detail
-
init
public void init(java.util.function.UnaryOperator<Parser.Listener> wrapper)
-
parse
public void parse(java.nio.ByteBuffer buffer)
Parses the given
bufferbytes and emit events to aParser.Listener.When this method returns, the buffer may not be fully consumed, so invocations to this method should be wrapped in a loop:
while (buffer.hasRemaining()) parser.parse(buffer);- Parameters:
buffer- the buffer to parse
-
parseHeader
protected boolean parseHeader(java.nio.ByteBuffer buffer)
-
parseBody
protected boolean parseBody(java.nio.ByteBuffer buffer)
-
getFrameType
protected int getFrameType()
-
hasFlag
protected boolean hasFlag(int bit)
-
getMaxFrameLength
public int getMaxFrameLength()
-
setMaxFrameLength
public void setMaxFrameLength(int maxFrameLength)
-
getMaxSettingsKeys
public int getMaxSettingsKeys()
-
setMaxSettingsKeys
public void setMaxSettingsKeys(int maxSettingsKeys)
-
notifyConnectionFailure
protected void notifyConnectionFailure(int error, java.lang.String reason)
-
-