Top Description Fields Constructors Methods
org.eclipse.jetty.websocket.core.internal

public Class Generator

extends Object
Class Inheritance
Imports
java.nio.ByteBuffer, org.eclipse.jetty.util.BufferUtil, org.eclipse.jetty.websocket.core.Frame

Generating a frame in WebSocket land.
   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 ...                |
  +---------------------------------------------------------------+

Field Summary

Modifier and TypeField and Description
public static final int
MAX_HEADER_LENGTH

The overhead (maximum) for a framing header.

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
public void
generateHeader(Frame
the frame to generate.
frame
,
ByteBuffer
the buffer to output the generated frame to.
buffer
)

Generate the header bytes of a frame into a single ByteBuffer.

public void
generatePayload(Frame
the frame to generate.
frame
,
ByteBuffer
the buffer to output the generated frame to.
buffer
)

Generate the payload of a frame into a single ByteBuffer, if the frame has a mask the payload will be masked as it is copied to the output buffer.

public void
generateWholeFrame(Frame
the frame to generate.
frame
,
ByteBuffer
the buffer to output the generated frame to.
buffer
)

Generate the whole frame (header + payload copy) into a single ByteBuffer.

private void
maskPayload(ByteBuffer buffer, Frame frame)

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

MAX_HEADER_LENGTHback to summary
public static final int MAX_HEADER_LENGTH

The overhead (maximum) for a framing header. Assuming a maximum sized payload with masking key.

Constructor Detail

Generatorback to summary
public Generator()

Method Detail

generateHeaderback to summary
public void generateHeader(Frame frame, ByteBuffer buffer)

Generate the header bytes of a frame into a single ByteBuffer.

Parameters
frame:Frame

the frame to generate.

buffer:ByteBuffer

the buffer to output the generated frame to.

generatePayloadback to summary
public void generatePayload(Frame frame, ByteBuffer buffer)

Generate the payload of a frame into a single ByteBuffer, if the frame has a mask the payload will be masked as it is copied to the output buffer.

Parameters
frame:Frame

the frame to generate.

buffer:ByteBuffer

the buffer to output the generated frame to.

generateWholeFrameback to summary
public void generateWholeFrame(Frame frame, ByteBuffer buffer)

Generate the whole frame (header + payload copy) into a single ByteBuffer.

Parameters
frame:Frame

the frame to generate.

buffer:ByteBuffer

the buffer to output the generated frame to.

maskPayloadback to summary
private void maskPayload(ByteBuffer buffer, Frame frame)