org.jboss.netty.handler.codec.embedder

## Interface CodecEmbedder<E>

All Known Implementing Classes:
  DecoderEmbedder, EncoderEmbedder

    public interface CodecEmbedder<E>

A helper that wraps an encoder or a decoder (codec) so that they can be used without doing actual I/O in unit tests or higher level codecs. Please refer to `EncoderEmbedder` and `DecoderEmbedder` for more information.

### Method Summary

Methods
`boolean` `finish()` Signals the pipeline that the encoding or decoding has been finished and no more data will be offered.
`ChannelPipeline` `getPipeline()` Returns the `ChannelPipeline` that handles the input.
`boolean` `offer(Object input)` Offers an input object to the pipeline of this embedder.
`E` `peek()` Reads an encoded or decoded output from the head of the product queue.
`E` `poll()` Consumes an encoded or decoded output from the product queue.
`Object[]` `pollAll()` Consumes all encoded or decoded output from the product queue.
`<T> T[]` `pollAll(T[] a)` Consumes all encoded or decoded output from the product queue.
`int` `size()` Returns the number of encoded or decoded output in the product queue.

### Method Detail

#### offer

    boolean offer(Object input)

Offers an input object to the pipeline of this embedder.

Returns:
  `true` if and only if there is something to read in the product queue (see `poll()` and `peek()`)

#### finish

    boolean finish()

Signals the pipeline that the encoding or decoding has been finished and no more data will be offered.

Returns:
  `true` if and only if there is something to read in the product queue (see `poll()` and `peek()`)

#### poll

    E poll()

Consumes an encoded or decoded output from the product queue. The output object is generated by the offered input objects.

Returns:
  an encoded or decoded object. `null` if and only if there is no output object left in the product queue.

#### peek

    E peek()

Reads an encoded or decoded output from the head of the product queue. The difference from `poll()` is that it does not remove the retrieved object from the product queue.

Returns:
  an encoded or decoded object. `null` if and only if there is no output object left in the product queue.

#### pollAll

    Object[] pollAll()

Consumes all encoded or decoded output from the product queue. The output object is generated by the offered input objects. The behavior of this method is identical with `Collection.toArray()` except that the product queue is cleared.

Returns:
  an array of all encoded or decoded objects. An empty array is returned if and only if there is no output object left in the product queue.

#### pollAll

    <T> T[] pollAll(T[] a)

Consumes all encoded or decoded output from the product queue. The output object is generated by the offered input objects. The behavior of this method is identical with `Collection.toArray(Object[])` except that the product queue is cleared.

Returns:
  an array of all encoded or decoded objects. An empty array is returned if and only if there is no output object left in the product queue.

#### size

    int size()

Returns the number of encoded or decoded output in the product queue.

#### getPipeline

    ChannelPipeline getPipeline()

Returns the `ChannelPipeline` that handles the input.