public abstract class ProtocolHandler extends Object
| Modifier and Type | Field and Description |
|---|---|
protected Connection |
connection |
protected byte |
inFragmentedType |
protected boolean |
maskData |
protected boolean |
processingFragment |
| Modifier | Constructor and Description |
|---|---|
protected |
ProtocolHandler(boolean maskData) |
| Modifier and Type | Method and Description |
|---|---|
protected byte |
checkForLastFrame(DataFrame frame,
byte opcode) |
Future<DataFrame> |
close(int code,
String reason) |
abstract HandShake |
createClientHandShake(WebSocketRequest webSocketRequest,
boolean client)
Create
HandShake on client side. |
protected abstract HandShake |
createHandShake(WebSocketRequest webSocketRequest)
Create
HandShake on server side. |
protected long |
decodeLength(byte[] bytes)
Convert a byte[] to a long.
|
void |
doClose() |
protected byte[] |
encodeLength(long length)
Converts the length given to the appropriate framing data: 0-125 one element that is the payload length.
|
abstract byte[] |
frame(DataFrame frame) |
Connection |
getConnection() |
WebSocket |
getWebSocket() |
HandShake |
handshake(Connection connection,
WebSocketApplication app,
WebSocketRequest request) |
protected abstract boolean |
isControlFrame(byte opcode) |
boolean |
isMaskData() |
protected abstract DataFrame |
parse(ByteBuffer buffer) |
Future<DataFrame> |
send(byte[] data) |
Future<DataFrame> |
send(DataFrame frame) |
Future<DataFrame> |
send(DataFrame frame,
boolean useTimeout) |
Future<DataFrame> |
send(DataFrame frame,
Connection.CompletionHandler<DataFrame> completionHandler,
Boolean useTimeout) |
Future<DataFrame> |
send(String data) |
void |
setConnection(Connection handler) |
void |
setContainer(javax.websocket.WebSocketContainer container)
Sets the container.
|
void |
setWebSocket(WebSocket webSocket) |
void |
setWriteTimeout(long timeoutMs)
Sets the timeout for the writing operation.
|
Future<DataFrame> |
stream(boolean last,
byte[] bytes,
int off,
int len) |
Future<DataFrame> |
stream(boolean last,
String fragment) |
DataFrame |
unframe(ByteBuffer buffer) |
protected void |
utf8Decode(boolean finalFragment,
byte[] data,
DataFrame dataFrame) |
protected final boolean maskData
protected Connection connection
protected byte inFragmentedType
protected boolean processingFragment
public HandShake handshake(Connection connection, WebSocketApplication app, WebSocketRequest request)
public Future<DataFrame> send(DataFrame frame, Connection.CompletionHandler<DataFrame> completionHandler, Boolean useTimeout)
public Connection getConnection()
public void setConnection(Connection handler)
public WebSocket getWebSocket()
public void setWebSocket(WebSocket webSocket)
public boolean isMaskData()
public abstract byte[] frame(DataFrame frame)
protected abstract HandShake createHandShake(WebSocketRequest webSocketRequest)
HandShake on server side.webSocketRequest - representation of received initial HTTP request.HandShake instance.public abstract HandShake createClientHandShake(WebSocketRequest webSocketRequest, boolean client)
HandShake on client side.webSocketRequest - representation of HTTP request to be sent.HandShake instance.public DataFrame unframe(ByteBuffer buffer)
protected abstract DataFrame parse(ByteBuffer buffer)
protected long decodeLength(byte[] bytes)
bytes - byte array to be converted.protected byte[] encodeLength(long length)
length - the payload sizeprotected abstract boolean isControlFrame(byte opcode)
protected byte checkForLastFrame(DataFrame frame, byte opcode)
public void doClose()
protected void utf8Decode(boolean finalFragment,
byte[] data,
DataFrame dataFrame)
public void setWriteTimeout(long timeoutMs)
timeoutMs - timeout in milliseconds.public void setContainer(javax.websocket.WebSocketContainer container)
container - container.Copyright © 2012-2013. All Rights Reserved.