public class WebSocket08FrameDecoder extends ReplayingDecoder<WebSocket08FrameDecoder.State>
| Modifier and Type | Class and Description |
|---|---|
static class |
WebSocket08FrameDecoder.State |
ChannelHandler.Sharable| Modifier and Type | Field and Description |
|---|---|
private boolean |
allowExtensions |
private int |
fragmentedFramesCount |
private boolean |
frameFinalFlag |
private int |
frameOpcode |
private ChannelBuffer |
framePayload |
private int |
framePayloadBytesRead |
private long |
framePayloadLength |
private int |
frameRsv |
private static InternalLogger |
logger |
private boolean |
maskedPayload |
private ChannelBuffer |
maskingKey |
private long |
maxFramePayloadLength |
private static byte |
OPCODE_BINARY |
private static byte |
OPCODE_CLOSE |
private static byte |
OPCODE_CONT |
private static byte |
OPCODE_PING |
private static byte |
OPCODE_PONG |
private static byte |
OPCODE_TEXT |
private boolean |
receivedClosingHandshake |
private Utf8Validator |
utf8Validator |
cumulation, DEFAULT_MAX_COMPOSITEBUFFER_COMPONENTS| Constructor and Description |
|---|
WebSocket08FrameDecoder(boolean maskedPayload,
boolean allowExtensions)
Constructor with default values
|
WebSocket08FrameDecoder(boolean maskedPayload,
boolean allowExtensions,
long maxFramePayloadLength)
Constructor
|
| Modifier and Type | Method and Description |
|---|---|
protected void |
checkCloseFrameBody(Channel channel,
ChannelBuffer buffer) |
private void |
checkUTF8String(Channel channel,
byte[] bytes) |
protected java.lang.Object |
decode(ChannelHandlerContext ctx,
Channel channel,
ChannelBuffer buffer,
WebSocket08FrameDecoder.State state)
Decodes the received packets so far into a frame.
|
private void |
protocolViolation(Channel channel,
CorruptedFrameException ex) |
private void |
protocolViolation(Channel channel,
java.lang.String reason) |
private static int |
toFrameLength(long l) |
private void |
unmask(ChannelBuffer frame) |
checkpoint, checkpoint, cleanup, decode, decodeLast, decodeLast, getState, internalBuffer, messageReceived, setStateactualReadableBytes, afterAdd, afterRemove, appendToCumulation, beforeAdd, beforeRemove, channelClosed, channelDisconnected, exceptionCaught, extractFrame, getMaxCumulationBufferCapacity, getMaxCumulationBufferComponents, isUnfold, newCumulationBuffer, replace, setMaxCumulationBufferCapacity, setMaxCumulationBufferComponents, setUnfold, unfoldAndFireMessageReceived, updateCumulationchannelBound, channelConnected, channelInterestChanged, channelOpen, channelUnbound, childChannelClosed, childChannelOpen, handleUpstream, writeCompleteprivate static final InternalLogger logger
private static final byte OPCODE_CONT
private static final byte OPCODE_TEXT
private static final byte OPCODE_BINARY
private static final byte OPCODE_CLOSE
private static final byte OPCODE_PING
private static final byte OPCODE_PONG
private Utf8Validator utf8Validator
private int fragmentedFramesCount
private final long maxFramePayloadLength
private boolean frameFinalFlag
private int frameRsv
private int frameOpcode
private long framePayloadLength
private ChannelBuffer framePayload
private int framePayloadBytesRead
private ChannelBuffer maskingKey
private final boolean allowExtensions
private final boolean maskedPayload
private boolean receivedClosingHandshake
public WebSocket08FrameDecoder(boolean maskedPayload,
boolean allowExtensions)
maskedPayload - Web socket servers must set this to true processed incoming masked payload. Client implementations
must set this to false.allowExtensions - Flag to allow reserved extension bits to be used or notpublic WebSocket08FrameDecoder(boolean maskedPayload,
boolean allowExtensions,
long maxFramePayloadLength)
maskedPayload - Web socket servers must set this to true processed incoming masked payload. Client implementations
must set this to false.allowExtensions - Flag to allow reserved extension bits to be used or notmaxFramePayloadLength - Maximum length of a frame's payload. Setting this to an appropriate value for you application
helps check for denial of services attacks.protected java.lang.Object decode(ChannelHandlerContext ctx, Channel channel, ChannelBuffer buffer, WebSocket08FrameDecoder.State state) throws java.lang.Exception
ReplayingDecoderdecode in class ReplayingDecoder<WebSocket08FrameDecoder.State>ctx - the context of this handlerchannel - the current channelbuffer - the cumulative buffer of received packets so far.
Note that the buffer might be empty, which means you
should not make an assumption that the buffer contains
at least one byte in your decoder implementation.state - the current decoder state (null if unused)java.lang.Exceptionprivate void unmask(ChannelBuffer frame)
private void protocolViolation(Channel channel, java.lang.String reason) throws CorruptedFrameException
CorruptedFrameExceptionprivate void protocolViolation(Channel channel, CorruptedFrameException ex) throws CorruptedFrameException
CorruptedFrameExceptionprivate static int toFrameLength(long l)
throws TooLongFrameException
TooLongFrameExceptionprivate void checkUTF8String(Channel channel, byte[] bytes) throws CorruptedFrameException
CorruptedFrameExceptionprotected void checkCloseFrameBody(Channel channel, ChannelBuffer buffer) throws CorruptedFrameException
CorruptedFrameException