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.Object
The HTTP/2 protocol parser.
This parser makes use of the
HeaderParser
and ofBodyParser
s to parse HTTP/2 frames.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interface
Parser.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 int
getFrameType()
int
getMaxFrameLength()
int
getMaxSettingsKeys()
protected boolean
hasFlag(int bit)
void
init(java.util.function.UnaryOperator<Parser.Listener> wrapper)
protected void
notifyConnectionFailure(int error, java.lang.String reason)
void
parse(java.nio.ByteBuffer buffer)
Parses the givenbuffer
bytes and emit events to aParser.Listener
.protected boolean
parseBody(java.nio.ByteBuffer buffer)
protected boolean
parseHeader(java.nio.ByteBuffer buffer)
void
setMaxFrameLength(int maxFrameLength)
void
setMaxSettingsKeys(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
buffer
bytes 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)
-
-