org.jboss.netty.handler.codec.http.websocketx

## Class WebSocket08FrameDecoder

- java.lang.Object
- - org.jboss.netty.channel.SimpleChannelUpstreamHandler
  - - org.jboss.netty.handler.codec.frame.FrameDecoder
    - - org.jboss.netty.handler.codec.replay.ReplayingDecoder<WebSocket08FrameDecoder.State>
      - - org.jboss.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder

All Implemented Interfaces:
  ChannelHandler, ChannelUpstreamHandler, LifeCycleAwareChannelHandler

Direct Known Subclasses:
  WebSocket13FrameDecoder

    public class WebSocket08FrameDecoder
    extends ReplayingDecoder<WebSocket08FrameDecoder.State>

Decodes a web socket frame from wire protocol version 8 format. This code was forked from webbit and modified.

### Nested Class Summary

Nested Classes
`static class` `WebSocket08FrameDecoder.State`

### Nested classes/interfaces inherited from interface org.jboss.netty.channel.ChannelHandler

`ChannelHandler.Sharable`

### Field Summary

### Fields inherited from class org.jboss.netty.handler.codec.frame.FrameDecoder

`cumulation, DEFAULT_MAX_COMPOSITEBUFFER_COMPONENTS`

### Constructor Summary

Constructors
Constructor and Description
`WebSocket08FrameDecoder(boolean maskedPayload, boolean allowExtensions)` Constructor with default values
`WebSocket08FrameDecoder(boolean maskedPayload, boolean allowExtensions, long maxFramePayloadLength)` Constructor

### Method Summary

Methods
`protected void` `checkCloseFrameBody(Channel channel, ChannelBuffer buffer)`
`protected Object` `decode(ChannelHandlerContext ctx, Channel channel, ChannelBuffer buffer, WebSocket08FrameDecoder.State state)` Decodes the received packets so far into a frame.

### Methods inherited from class org.jboss.netty.handler.codec.replay.ReplayingDecoder

`checkpoint, checkpoint, cleanup, decode, decodeLast, decodeLast, getState, internalBuffer, messageReceived, setState`

### Methods inherited from class org.jboss.netty.handler.codec.frame.FrameDecoder

`actualReadableBytes, afterAdd, afterRemove, appendToCumulation, beforeAdd, beforeRemove, channelClosed, channelDisconnected, exceptionCaught, getMaxCumulationBufferCapacity, getMaxCumulationBufferComponents, isUnfold, newCumulationBuffer, replace, setMaxCumulationBufferCapacity, setMaxCumulationBufferComponents, setUnfold, unfoldAndFireMessageReceived, updateCumulation`

### Methods inherited from class org.jboss.netty.channel.SimpleChannelUpstreamHandler

`channelBound, channelConnected, channelInterestChanged, channelOpen, channelUnbound, childChannelClosed, childChannelOpen, handleUpstream, writeComplete`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### WebSocket08FrameDecoder

    public WebSocket08FrameDecoder(boolean maskedPayload,
                           boolean allowExtensions)

Constructor with default values

Parameters:
  `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 not

#### WebSocket08FrameDecoder

    public WebSocket08FrameDecoder(boolean maskedPayload,
                           boolean allowExtensions,
                           long maxFramePayloadLength)

Constructor

Parameters:
  `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 not
  `maxFramePayloadLength` - Maximum length of a frame's payload. Setting this to an appropriate value for you application helps check for denial of services attacks.

### Method Detail

#### decode

    protected Object decode(ChannelHandlerContext ctx,
                Channel channel,
                ChannelBuffer buffer,
                WebSocket08FrameDecoder.State state)
                     throws Exception

Description copied from class: `ReplayingDecoder`
Decodes the received packets so far into a frame.

Specified by:
  `decode` in class `ReplayingDecoder<WebSocket08FrameDecoder.State>`
Parameters:
  `ctx` - the context of this handler
  `channel` - the current channel
  `buffer` - 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)
Returns:
  the decoded frame
Throws:
  `Exception`

#### checkCloseFrameBody

    protected void checkCloseFrameBody(Channel channel,
                           ChannelBuffer buffer)
                                throws CorruptedFrameException

Throws:
  `CorruptedFrameException`