org.glassfish.grizzly.websockets
Class ProtocolHandler
java.lang.Object
org.glassfish.grizzly.websockets.ProtocolHandler
- Direct Known Subclasses:
- Draft06Handler, Draft07Handler, Draft76Handler
public abstract class ProtocolHandler
- extends java.lang.Object
|
Method Summary |
protected byte |
checkForLastFrame(DataFrame frame,
byte opcode)
|
GrizzlyFuture<DataFrame> |
close(int code,
java.lang.String reason)
|
protected abstract HandShake |
createHandShake(HttpContent requestContent)
|
protected abstract HandShake |
createHandShake(java.net.URI uri)
|
long |
decodeLength(byte[] bytes)
Convert a byte[] to a long. |
void |
doClose()
|
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(FilterChainContext ctx,
WebSocketApplication app,
HttpContent request)
|
protected abstract boolean |
isControlFrame(byte opcode)
|
boolean |
isMaskData()
|
abstract DataFrame |
parse(Buffer buffer)
|
GrizzlyFuture<DataFrame> |
send(byte[] data)
|
GrizzlyFuture<DataFrame> |
send(DataFrame frame)
|
GrizzlyFuture<DataFrame> |
send(DataFrame frame,
CompletionHandler<DataFrame> completionHandler)
|
GrizzlyFuture<DataFrame> |
send(java.lang.String data)
|
void |
setConnection(Connection handler)
|
void |
setWebSocket(WebSocket webSocket)
|
GrizzlyFuture<DataFrame> |
stream(boolean last,
byte[] bytes,
int off,
int len)
|
GrizzlyFuture<DataFrame> |
stream(boolean last,
java.lang.String fragment)
|
DataFrame |
unframe(Buffer buffer)
|
protected void |
validate(byte fragmentType,
byte opcode)
|
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
connection
protected Connection connection
inFragmentedType
protected byte inFragmentedType
outFragmentedType
protected byte outFragmentedType
maskData
protected final boolean maskData
ProtocolHandler
public ProtocolHandler(boolean maskData)
handshake
public HandShake handshake(FilterChainContext ctx,
WebSocketApplication app,
HttpContent request)
send
public final GrizzlyFuture<DataFrame> send(DataFrame frame)
send
public GrizzlyFuture<DataFrame> send(DataFrame frame,
CompletionHandler<DataFrame> completionHandler)
getConnection
public Connection getConnection()
setConnection
public void setConnection(Connection handler)
getWebSocket
public WebSocket getWebSocket()
setWebSocket
public void setWebSocket(WebSocket webSocket)
isMaskData
public boolean isMaskData()
frame
public abstract byte[] frame(DataFrame frame)
createHandShake
protected abstract HandShake createHandShake(HttpContent requestContent)
createHandShake
protected abstract HandShake createHandShake(java.net.URI uri)
send
public GrizzlyFuture<DataFrame> send(byte[] data)
send
public GrizzlyFuture<DataFrame> send(java.lang.String data)
stream
public GrizzlyFuture<DataFrame> stream(boolean last,
byte[] bytes,
int off,
int len)
stream
public GrizzlyFuture<DataFrame> stream(boolean last,
java.lang.String fragment)
close
public GrizzlyFuture<DataFrame> close(int code,
java.lang.String reason)
unframe
public DataFrame unframe(Buffer buffer)
parse
public abstract DataFrame parse(Buffer buffer)
decodeLength
public long decodeLength(byte[] bytes)
- Convert a byte[] to a long. Used for rebuilding payload length.
encodeLength
public byte[] encodeLength(long length)
- Converts the length given to the appropriate framing data:
- 0-125 one element that is the payload length.
- up to 0xFFFF, 3 element array starting with 126 with the following 2 bytes interpreted as a 16 bit unsigned
integer showing the payload length.
- else 9 element array starting with 127 with the following 8 bytes
interpreted as a 64-bit unsigned integer (the high bit must be 0) showing the payload length.
- Parameters:
length - the payload size
- Returns:
- the array
validate
protected void validate(byte fragmentType,
byte opcode)
isControlFrame
protected abstract boolean isControlFrame(byte opcode)
checkForLastFrame
protected byte checkForLastFrame(DataFrame frame,
byte opcode)
doClose
public void doClose()
Copyright © 2011 Oracle Corpration. All Rights Reserved.