Top Description Inners Fields Constructors Methods
org.glassfish.tyrus.core.frame

public Class Frame

extends Object
Class Inheritance
Known Direct Subclasses
org.glassfish.tyrus.core.frame.TyrusFrame

WebSocket frame representation.
TODO:
- masking (isMask is currently ignored)
- validation
- payloadLength is limited to int
Author
Pavel Bucek

Nested and Inner Type Summary

Modifier and TypeClass and Description
public static class
Frame.Builder

Frame builder.

Field Summary

Modifier and TypeField and Description
private final boolean
private final boolean
private final boolean
private final Integer
private final byte
private final byte[]
private final long
private final boolean
private final boolean
private final boolean

Constructor Summary

AccessConstructor and Description
protected
Frame(Frame
copied frame.
frame
)

Copy constructor.

private
Frame(boolean fin, boolean rsv1, boolean rsv2, boolean rsv3, boolean mask, byte opcode, long payloadLength, Integer maskingKey, byte[] payloadData)

Method Summary

Modifier and TypeMethod and Description
public static Frame.Builder

Returns:

new builder instance.
builder
()

Create new Builder.

public static Frame.Builder

Returns:

new builder instance.
builder
(Frame
frame used as a base for building new frame.
frame
)

Create new Builder based on provided frame.

public Integer

Returns:

masking key (32 bit value) or null when the frame should not be masked.
getMaskingKey
()

Get masking key.

public byte

Returns:

opcode (4 bit value).
getOpcode
()

Get opcode.

public byte[]

Returns:

payload data.
getPayloadData
()

Get payload data.

public long

Returns:

payload length.
getPayloadLength
()

Get payload length.

public boolean

Returns:

true when this frame is control (close, ping, pong) frame, false otherwise.
isControlFrame
()

Get information about frame type.

public boolean

Returns:

true when FIN flag is set, false otherwise.
isFin
()

Get FIN value.

public boolean

Returns:

not used.
isMask
()

Currently not used.

public boolean

Returns:

true when RSV1 flag is set, false otherwise.
isRsv1
()

GET RSV1 value.

public boolean

Returns:

true when RSV2 flag is set, false otherwise.
isRsv2
()

GET RSV2 value.

public boolean

Returns:

true when RSV3 flag is set, false otherwise.
isRsv3
()

GET RSV3 value.

public String
toString()

Overrides java.lang.Object.toString.

Returns a string representation of the object.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAllwaitwaitwait

Field Detail

controlFrameback to summary
private final boolean controlFrame
finback to summary
private final boolean fin
maskback to summary
private final boolean mask
maskingKeyback to summary
private final Integer maskingKey
opcodeback to summary
private final byte opcode
payloadDataback to summary
private final byte[] payloadData
payloadLengthback to summary
private final long payloadLength
rsv1back to summary
private final boolean rsv1
rsv2back to summary
private final boolean rsv2
rsv3back to summary
private final boolean rsv3

Constructor Detail

Frameback to summary
protected Frame(Frame frame)

Copy constructor.

Note

this is shallow copy. Payload is *not* copied to new array.

Parameters
frame:Frame

copied frame.

Frameback to summary
private Frame(boolean fin, boolean rsv1, boolean rsv2, boolean rsv3, boolean mask, byte opcode, long payloadLength, Integer maskingKey, byte[] payloadData)

Method Detail

builderback to summary
public static Frame.Builder builder()

Create new Builder.

Returns:Frame.Builder

new builder instance.

builderback to summary
public static Frame.Builder builder(Frame frame)

Create new Builder based on provided frame.

Parameters
frame:Frame

frame used as a base for building new frame.

Returns:Frame.Builder

new builder instance.

getMaskingKeyback to summary
public Integer getMaskingKey()

Get masking key.

Returns:Integer

masking key (32 bit value) or null when the frame should not be masked.

getOpcodeback to summary
public byte getOpcode()

Get opcode.

Returns:byte

opcode (4 bit value).

getPayloadDataback to summary
public byte[] getPayloadData()

Get payload data.

Changes done to returned array won't be propagated to current Frame instance. If you need to modify payload, you have to create new instance, see Builder#Frame(Frame). Length of returned array will be always same as getPayloadLength().

Returns:byte[]

payload data.

getPayloadLengthback to summary
public long getPayloadLength()

Get payload length.

Returns:long

payload length.

isControlFrameback to summary
public boolean isControlFrame()

Get information about frame type.

Returns:boolean

true when this frame is control (close, ping, pong) frame, false otherwise.

isFinback to summary
public boolean isFin()

Get FIN value.

Returns:boolean

true when FIN flag is set, false otherwise.

isMaskback to summary
public boolean isMask()

Currently not used.

Returns:boolean

not used.

isRsv1back to summary
public boolean isRsv1()

GET RSV1 value.

Returns:boolean

true when RSV1 flag is set, false otherwise.

isRsv2back to summary
public boolean isRsv2()

GET RSV2 value.

Returns:boolean

true when RSV2 flag is set, false otherwise.

isRsv3back to summary
public boolean isRsv3()

GET RSV3 value.

Returns:boolean

true when RSV3 flag is set, false otherwise.

toStringback to summary
public String toString()

Overrides java.lang.Object.toString.

Doc from java.lang.Object.toString.

Returns a string representation of the object. Satisfying this method's contract implies a non-null result must be returned.

Returns:String

a string representation of the object

Annotations
@Override
org.glassfish.tyrus.core.frame back to summary

public final Class Frame.Builder

extends Object
Class Inheritance

Frame builder.

Field Summary

Modifier and TypeField and Description
private boolean
private boolean
private Integer
private byte
private byte[]
private long
private boolean
private boolean
private boolean

Constructor Summary

AccessConstructor and Description
public
Builder()

Constructor.

public
Builder(Frame
frame used as a base for building new frame.
frame
)

Constructor.

Method Summary

Modifier and TypeMethod and Description
public Frame

Returns:

built frame.
build
()

Build new frame.

public Frame.Builder

Returns:

updated Builder instance.
fin
(boolean
value to be set as FIN.
fin
)

Set FIN flag.

public Frame.Builder

Returns:

updated Builder instance.
mask
(boolean
not used.
mask
)

Currently not used.

public Frame.Builder

Returns:

updated Builder instance.
maskingKey
(Integer
masking key.
maskingKey
)

Set masking key.

public Frame.Builder

Returns:

updated Builder instance.
opcode
(byte
opcode to be set. (4 bits).
opcode
)

Set opcode.

public Frame.Builder

Returns:

updated Builder instance.
payloadData
(byte[]
data to be set.
payloadData
)

Set payload data.

public Frame.Builder

Returns:

updated Builder instance.
payloadLength
(long
payload length. Must not be greater than payloadData.length.
payloadLength
)

Set payload length.

public Frame.Builder

Returns:

updated Builder instance.
rsv1
(boolean
value to be set as RSV1.
rsv1
)

Set RSV1 flag.

public Frame.Builder

Returns:

updated Builder instance.
rsv2
(boolean
value to be set as RSV2.
rsv2
)

Set RSV2 flag.

public Frame.Builder

Returns:

updated Builder instance.
rsv3
(boolean
value to be set as RSV3.
rsv3
)

Set RSV3 flag.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

finback to summary
private boolean fin
maskback to summary
private boolean mask
maskingKeyback to summary
private Integer maskingKey
opcodeback to summary
private byte opcode
payloadDataback to summary
private byte[] payloadData
payloadLengthback to summary
private long payloadLength
rsv1back to summary
private boolean rsv1
rsv2back to summary
private boolean rsv2
rsv3back to summary
private boolean rsv3

Constructor Detail

Builderback to summary
public Builder()

Constructor.

Builderback to summary
public Builder(Frame frame)

Constructor.

Parameters
frame:Frame

frame used as a base for building new frame.

Method Detail

buildback to summary
public Frame build()

Build new frame.

Returns:Frame

built frame.

finback to summary
public Frame.Builder fin(boolean fin)

Set FIN flag.

Parameters
fin:boolean

value to be set as FIN.

Returns:Frame.Builder

updated Builder instance.

maskback to summary
public Frame.Builder mask(boolean mask)

Currently not used.

Parameters
mask:boolean

not used.

Returns:Frame.Builder

updated Builder instance.

maskingKeyback to summary
public Frame.Builder maskingKey(Integer maskingKey)

Set masking key. Default value is null.

Parameters
maskingKey:Integer

masking key.

Returns:Frame.Builder

updated Builder instance.

opcodeback to summary
public Frame.Builder opcode(byte opcode)

Set opcode.

Parameters
opcode:byte

opcode to be set. (4 bits).

Returns:Frame.Builder

updated Builder instance.

payloadDataback to summary
public Frame.Builder payloadData(byte[] payloadData)

Set payload data. payloadLength(long) is also updated with payloadData.length.

Parameters
payloadData:byte[]

data to be set.

Returns:Frame.Builder

updated Builder instance.

See Also
payloadLength(long)
payloadLengthback to summary
public Frame.Builder payloadLength(long payloadLength)

Set payload length.

Payload length is automatically set to payloadData length when payloadData(byte[]) is called. This method can limit the data used for this frame by setting smaller value than payloadData.length.

Parameters
payloadLength:long

payload length. Must not be greater than payloadData.length.

Returns:Frame.Builder

updated Builder instance.

See Also
payloadData(byte[])
rsv1back to summary
public Frame.Builder rsv1(boolean rsv1)

Set RSV1 flag.

Parameters
rsv1:boolean

value to be set as RSV1.

Returns:Frame.Builder

updated Builder instance.

rsv2back to summary
public Frame.Builder rsv2(boolean rsv2)

Set RSV2 flag.

Parameters
rsv2:boolean

value to be set as RSV2.

Returns:Frame.Builder

updated Builder instance.

rsv3back to summary
public Frame.Builder rsv3(boolean rsv3)

Set RSV3 flag.

Parameters
rsv3:boolean

value to be set as RSV3.

Returns:Frame.Builder

updated Builder instance.