Class Parser
- java.lang.Object
-
- org.eclipse.jetty.websocket.common.Parser
-
public class Parser extends java.lang.ObjectParsing of a frames in WebSocket land.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static classParser.State
-
Field Summary
Fields Modifier and Type Field Description private org.eclipse.jetty.io.ByteBufferPoolbufferPoolprivate intcursorprivate byteflagsInUseIs there an extension using RSV flag?private WebSocketFrameframeprivate IncomingFramesincomingFramesHandlerprivate static org.eclipse.jetty.util.log.LoggerLOGprivate PayloadProcessormaskProcessorprivate java.util.concurrent.atomic.LongAddermessagesInprivate java.nio.ByteBufferpayloadprivate intpayloadLengthprivate WebSocketPolicypolicyprivate booleanpriorDataFrameprivate Parser.Statestate
-
Constructor Summary
Constructors Constructor Description Parser(WebSocketPolicy wspolicy, org.eclipse.jetty.io.ByteBufferPool bufferPool)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private voidassertSanePayloadLength(long len)voidconfigureFromExtensions(java.util.List<? extends Extension> exts)IncomingFramesgetIncomingFramesHandler()longgetMessagesIn()WebSocketPolicygetPolicy()booleanisRsv1InUse()booleanisRsv2InUse()booleanisRsv3InUse()protected voidnotifyFrame(Frame f)voidparse(java.nio.ByteBuffer buffer)private booleanparseFrame(java.nio.ByteBuffer buffer)Parse the base framing protocol buffer.private booleanparsePayload(java.nio.ByteBuffer buffer)Implementation specific parsing of a payloadvoidparseSingleFrame(java.nio.ByteBuffer buffer)private voidreset()voidsetIncomingFramesHandler(IncomingFrames incoming)java.lang.StringtoString()
-
-
-
Field Detail
-
LOG
private static final org.eclipse.jetty.util.log.Logger LOG
-
policy
private final WebSocketPolicy policy
-
bufferPool
private final org.eclipse.jetty.io.ByteBufferPool bufferPool
-
messagesIn
private final java.util.concurrent.atomic.LongAdder messagesIn
-
state
private Parser.State state
-
cursor
private int cursor
-
frame
private WebSocketFrame frame
-
priorDataFrame
private boolean priorDataFrame
-
payload
private java.nio.ByteBuffer payload
-
payloadLength
private int payloadLength
-
maskProcessor
private PayloadProcessor maskProcessor
-
flagsInUse
private byte flagsInUse
Is there an extension using RSV flag?0100_0000 (0x40) = rsv1 0010_0000 (0x20) = rsv2 0001_0000 (0x10) = rsv3
-
incomingFramesHandler
private IncomingFrames incomingFramesHandler
-
-
Constructor Detail
-
Parser
public Parser(WebSocketPolicy wspolicy, org.eclipse.jetty.io.ByteBufferPool bufferPool)
-
-
Method Detail
-
assertSanePayloadLength
private void assertSanePayloadLength(long len)
-
configureFromExtensions
public void configureFromExtensions(java.util.List<? extends Extension> exts)
-
getIncomingFramesHandler
public IncomingFrames getIncomingFramesHandler()
-
getPolicy
public WebSocketPolicy getPolicy()
-
isRsv1InUse
public boolean isRsv1InUse()
-
isRsv2InUse
public boolean isRsv2InUse()
-
isRsv3InUse
public boolean isRsv3InUse()
-
notifyFrame
protected void notifyFrame(Frame f) throws WebSocketException
- Throws:
WebSocketException
-
parse
public void parse(java.nio.ByteBuffer buffer) throws WebSocketException- Throws:
WebSocketException
-
parseSingleFrame
public void parseSingleFrame(java.nio.ByteBuffer buffer) throws WebSocketException- Throws:
WebSocketException
-
reset
private void reset()
-
parseFrame
private boolean parseFrame(java.nio.ByteBuffer buffer)
Parse the base framing protocol buffer.Note the first byte (fin,rsv1,rsv2,rsv3,opcode) are parsed by the
parse(ByteBuffer)methodNot overridable
- Parameters:
buffer- the buffer to parse from.- Returns:
- true if done parsing base framing protocol and ready for parsing of the payload. false if incomplete parsing of base framing protocol.
-
parsePayload
private boolean parsePayload(java.nio.ByteBuffer buffer)
Implementation specific parsing of a payload- Parameters:
buffer- the payload buffer- Returns:
- true if payload is done reading, false if incomplete
-
setIncomingFramesHandler
public void setIncomingFramesHandler(IncomingFrames incoming)
-
getMessagesIn
public long getMessagesIn()
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
-