public class WebSocket08FrameDecoder extends ByteToMessageDecoder implements WebSocketFrameDecoder
| Modifier and Type | Class and Description |
|---|---|
(package private) static class |
WebSocket08FrameDecoder.State |
ByteToMessageDecoder.CumulatorChannelHandler.Sharable| Modifier and Type | Field and Description |
|---|---|
private boolean |
allowExtensions |
private boolean |
allowMaskMismatch |
private boolean |
expectMaskedFrames |
private int |
fragmentedFramesCount |
private boolean |
frameFinalFlag |
private boolean |
frameMasked |
private int |
frameOpcode |
private int |
framePayloadLen1 |
private long |
framePayloadLength |
private int |
frameRsv |
private static InternalLogger |
logger |
private byte[] |
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 WebSocket08FrameDecoder.State |
state |
COMPOSITE_CUMULATOR, MERGE_CUMULATOR| Constructor and Description |
|---|
WebSocket08FrameDecoder(boolean expectMaskedFrames,
boolean allowExtensions,
int maxFramePayloadLength)
Constructor
|
WebSocket08FrameDecoder(boolean expectMaskedFrames,
boolean allowExtensions,
int maxFramePayloadLength,
boolean allowMaskMismatch)
Constructor
|
| Modifier and Type | Method and Description |
|---|---|
protected void |
checkCloseFrameBody(ChannelHandlerContext ctx,
ByteBuf buffer) |
protected void |
decode(ChannelHandlerContext ctx,
ByteBuf in,
java.util.List<java.lang.Object> out)
Decode the from one
ByteBuf to an other. |
private void |
protocolViolation(ChannelHandlerContext ctx,
CorruptedFrameException ex) |
private void |
protocolViolation(ChannelHandlerContext ctx,
java.lang.String reason) |
private static int |
toFrameLength(long l) |
private void |
unmask(ByteBuf frame) |
actualReadableBytes, callDecode, channelInactive, channelRead, channelReadComplete, decodeLast, discardSomeReadBytes, handlerRemoved, handlerRemoved0, internalBuffer, isSingleDecode, setCumulator, setDiscardAfterReads, setSingleDecode, userEventTriggeredchannelActive, channelRegistered, channelUnregistered, channelWritabilityChanged, exceptionCaughtensureNotSharable, handlerAdded, isSharableclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitchannelActive, channelInactive, channelRead, channelReadComplete, channelRegistered, channelUnregistered, channelWritabilityChanged, exceptionCaught, userEventTriggeredhandlerAdded, handlerRemovedprivate 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 final long maxFramePayloadLength
private final boolean allowExtensions
private final boolean expectMaskedFrames
private final boolean allowMaskMismatch
private int fragmentedFramesCount
private boolean frameFinalFlag
private boolean frameMasked
private int frameRsv
private int frameOpcode
private long framePayloadLength
private byte[] maskingKey
private int framePayloadLen1
private boolean receivedClosingHandshake
private WebSocket08FrameDecoder.State state
public WebSocket08FrameDecoder(boolean expectMaskedFrames,
boolean allowExtensions,
int maxFramePayloadLength)
expectMaskedFrames - 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.public WebSocket08FrameDecoder(boolean expectMaskedFrames,
boolean allowExtensions,
int maxFramePayloadLength,
boolean allowMaskMismatch)
expectMaskedFrames - 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.allowMaskMismatch - When set to true, frames which are not masked properly according to the standard will still be
accepted.protected void decode(ChannelHandlerContext ctx, ByteBuf in, java.util.List<java.lang.Object> out) throws java.lang.Exception
ByteToMessageDecoderByteBuf to an other. This method will be called till either the input
ByteBuf has nothing to read when return from this method or till nothing was read from the input
ByteBuf.decode in class ByteToMessageDecoderctx - the ChannelHandlerContext which this ByteToMessageDecoder belongs toin - the ByteBuf from which to read dataout - the List to which decoded messages should be addedjava.lang.Exception - is thrown if an error occursprivate void unmask(ByteBuf frame)
private void protocolViolation(ChannelHandlerContext ctx, java.lang.String reason)
private void protocolViolation(ChannelHandlerContext ctx, CorruptedFrameException ex)
private static int toFrameLength(long l)
protected void checkCloseFrameBody(ChannelHandlerContext ctx, ByteBuf buffer)