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.Listenerprivate static classParser.State
-
Field Summary
Fields Modifier and Type Field Description private BodyParser[]bodyParsersprivate org.eclipse.jetty.io.ByteBufferPoolbyteBufferPoolprivate booleancontinuationprivate HeaderParserheaderParserprivate HpackDecoderhpackDecoderprivate Parser.Listenerlistenerprivate static org.eclipse.jetty.util.log.LoggerLOGprivate intmaxFrameSizeprivate intmaxSettingsKeysprivate Parser.Statestateprivate UnknownBodyParserunknownBodyParser
-
Constructor Summary
Constructors Constructor Description Parser(org.eclipse.jetty.io.ByteBufferPool byteBufferPool, int maxHeaderSize)Parser(org.eclipse.jetty.io.ByteBufferPool byteBufferPool, int maxHeaderSize, RateControl rateControl)Parser(org.eclipse.jetty.io.ByteBufferPool byteBufferPool, Parser.Listener listener, int maxDynamicTableSize, int maxHeaderSize)Deprecated.
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description private booleanconnectionFailure(java.nio.ByteBuffer buffer, ErrorCode error, java.lang.String reason)protected intgetFrameType()HpackDecodergetHpackDecoder()protected Parser.ListenergetListener()intgetMaxFrameLength()Deprecated.intgetMaxFrameSize()intgetMaxSettingsKeys()protected booleanhasFlag(int bit)voidinit(java.util.function.UnaryOperator<Parser.Listener> wrapper)Deprecated.voidinit(Parser.Listener listener)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)booleanrateControlOnEvent(java.lang.Object event)private voidreset()voidsetMaxFrameLength(int maxFrameSize)Deprecated.voidsetMaxFrameSize(int maxFrameSize)voidsetMaxSettingsKeys(int maxSettingsKeys)
-
-
-
Field Detail
-
LOG
private static final org.eclipse.jetty.util.log.Logger LOG
-
byteBufferPool
private final org.eclipse.jetty.io.ByteBufferPool byteBufferPool
-
headerParser
private final HeaderParser headerParser
-
hpackDecoder
private final HpackDecoder hpackDecoder
-
bodyParsers
private final BodyParser[] bodyParsers
-
listener
private Parser.Listener listener
-
unknownBodyParser
private UnknownBodyParser unknownBodyParser
-
maxFrameSize
private int maxFrameSize
-
maxSettingsKeys
private int maxSettingsKeys
-
continuation
private boolean continuation
-
state
private Parser.State state
-
-
Constructor Detail
-
Parser
@Deprecated public Parser(org.eclipse.jetty.io.ByteBufferPool byteBufferPool, Parser.Listener listener, int maxDynamicTableSize, int maxHeaderSize)Deprecated.
-
Parser
public Parser(org.eclipse.jetty.io.ByteBufferPool byteBufferPool, int maxHeaderSize)
-
Parser
public Parser(org.eclipse.jetty.io.ByteBufferPool byteBufferPool, int maxHeaderSize, RateControl rateControl)
-
-
Method Detail
-
init
@Deprecated public void init(java.util.function.UnaryOperator<Parser.Listener> wrapper)
Deprecated.
-
init
public void init(Parser.Listener listener)
-
rateControlOnEvent
public boolean rateControlOnEvent(java.lang.Object event)
-
getListener
protected Parser.Listener getListener()
-
getHpackDecoder
public HpackDecoder getHpackDecoder()
-
reset
private void reset()
-
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)
-
connectionFailure
private boolean connectionFailure(java.nio.ByteBuffer buffer, ErrorCode error, java.lang.String reason)
-
getFrameType
protected int getFrameType()
-
hasFlag
protected boolean hasFlag(int bit)
-
getMaxFrameLength
@Deprecated public int getMaxFrameLength()
Deprecated.
-
setMaxFrameLength
@Deprecated public void setMaxFrameLength(int maxFrameSize)
Deprecated.
-
getMaxFrameSize
public int getMaxFrameSize()
-
setMaxFrameSize
public void setMaxFrameSize(int maxFrameSize)
-
getMaxSettingsKeys
public int getMaxSettingsKeys()
-
setMaxSettingsKeys
public void setMaxSettingsKeys(int maxSettingsKeys)
-
notifyConnectionFailure
protected void notifyConnectionFailure(int error, java.lang.String reason)
-
-