Class Frame
java.lang.Object
org.eclipse.jetty.websocket.core.Frame
- Direct Known Subclasses:
 Frame.Parsed
A Base Frame as seen in RFC 6455. Sec 5.2
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-------+-+-------------+-------------------------------+ |F|R|R|R| opcode|M| Payload len | Extended payload length | |I|S|S|S| (4) |A| (7) | (16/64) | |N|V|V|V| |S| | (if payload len==126/127) | | |1|2|3| |K| | | +-+-+-+-+-------+-+-------------+ - - - - - - - - - - - - - - - + | Extended payload length continued, if payload len == 127 | + - - - - - - - - - - - - - - - +-------------------------------+ | |Masking-key, if MASK set to 1 | +-------------------------------+-------------------------------+ | Masking-key (continued) | Payload Data | +-------------------------------- - - - - - - - - - - - - - - - + : Payload Data continued ... : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + | Payload Data continued ... | +---------------------------------------------------------------+
- 
Nested Class Summary
Nested Classes - 
Field Summary
FieldsModifier and TypeFieldDescriptionprotected byteCombined FIN + RSV1 + RSV2 + RSV3 + OpCode byte.protected byte[]static final intMaximum size of Control frame, per RFC 6455protected ByteBufferThe payload data. - 
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedFrame()Frame(byte opcode) Construct form opcodeFrame(byte opCode, boolean fin, ByteBuffer payload) Frame(byte finRsvOp, byte[] mask, ByteBuffer payload) Frame(byte opCode, ByteBuffer payload)  - 
Method Summary
Modifier and TypeMethodDescriptionstatic Frameprotected voidcopyHeaders(Frame frame) static FramecopyWithoutPayload(Frame original) voiddemask()booleanbyte[]getMask()byteGet the payload ByteBuffer.Get the payload of the frame as a UTF-8 string.intinthashCode()booleanbooleanhasRsv()booleanbooleanbooleanisFin()booleanisMasked()booleanisRsv1()booleanisRsv2()booleanisRsv3()voidreset()setFin(boolean fin) setMask(byte[] maskingKey) protected FramesetOpCode(byte op) setPayload(byte[] buf) setPayload(String str) setPayload(ByteBuffer buf) Set the data payload.setRsv1(boolean rsv1) setRsv2(boolean rsv2) setRsv3(boolean rsv3) toString() 
- 
Field Details
- 
MAX_CONTROL_PAYLOAD
public static final int MAX_CONTROL_PAYLOADMaximum size of Control frame, per RFC 6455- See Also:
 
 - 
finRsvOp
protected byte finRsvOpCombined FIN + RSV1 + RSV2 + RSV3 + OpCode byte.1000_0000 (0x80) = fin 0100_0000 (0x40) = rsv1 0010_0000 (0x20) = rsv2 0001_0000 (0x10) = rsv3 0000_1111 (0x0F) = opcode
 - 
mask
protected byte[] mask - 
payload
The payload data.It is assumed to always be in FLUSH mode (ready to read) in this object.
 
 - 
 - 
Constructor Details
- 
Frame
public Frame(byte opcode) Construct form opcode- Parameters:
 opcode- the opcode the frame is based on
 - 
Frame
 - 
Frame
 - 
Frame
 - 
Frame
 - 
Frame
protected Frame() - 
Frame
 
 - 
 - 
Method Details
- 
copyWithoutPayload
 - 
copy
 - 
isControlFrame
public boolean isControlFrame() - 
isDataFrame
public boolean isDataFrame() - 
copyHeaders
 - 
equals
 - 
getMask
public byte[] getMask() - 
getOpCode
public byte getOpCode() - 
getPayload
Get the payload ByteBuffer. - 
getPayloadAsUTF8
Get the payload of the frame as a UTF-8 string.Should only be used in testing, does not validate the UTF-8 and a non fin frame can contain partial UTF-8 characters.
- Returns:
 - the payload as a UTF-8 string.
 
 - 
getPayloadLength
public int getPayloadLength() - 
hashCode
 - 
hasPayload
public boolean hasPayload() - 
isFin
public boolean isFin() - 
isMasked
public boolean isMasked() - 
isRsv1
public boolean isRsv1() - 
isRsv2
public boolean isRsv2() - 
isRsv3
public boolean isRsv3() - 
reset
public void reset() - 
setFin
 - 
setMask
 - 
setOpCode
 - 
setPayload
Set the data payload.The provided buffer will be used as is, no copying of bytes performed.
The provided buffer should be flipped and ready to READ from.
- Parameters:
 buf- the bytebuffer to set- Returns:
 - the frame itself
 
 - 
setPayload
 - 
setPayload
 - 
setRsv1
 - 
setRsv2
 - 
setRsv3
 - 
asReadOnly
 - 
hasRsv
public boolean hasRsv() - 
demask
public void demask() - 
toString
 
 -