org.apache.http.impl.nio.codecs

## Class ChunkEncoder

- java.lang.Object
- - org.apache.http.impl.nio.codecs.AbstractContentEncoder
  - - org.apache.http.impl.nio.codecs.ChunkEncoder

All Implemented Interfaces:
  ContentEncoder

    @NotThreadSafe
    public class ChunkEncoder
    extends AbstractContentEncoder

Implements chunked transfer coding. The content is sent in small chunks. Entities transferred using this decoder can be of unlimited length.

Since:
  4.0

### Field Summary

### Fields inherited from class org.apache.http.impl.nio.codecs.AbstractContentEncoder

`buffer, channel, completed, metrics`

### Constructor Summary

Constructors
Constructor and Description
`ChunkEncoder(WritableByteChannel channel, SessionOutputBuffer buffer, HttpTransportMetricsImpl metrics)`
`ChunkEncoder(WritableByteChannel channel, SessionOutputBuffer buffer, HttpTransportMetricsImpl metrics, int fragementSizeHint)`

### Method Summary

Methods
`void` `complete()` Terminates the content stream.
`String` `toString()`
`int` `write(ByteBuffer src)` Writes a portion of entity content to the underlying channel.

### Methods inherited from class org.apache.http.impl.nio.codecs.AbstractContentEncoder

`assertNotCompleted, flushToChannel, isCompleted, writeToBuffer, writeToChannel, writeToChannel`

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

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

### Constructor Detail

#### ChunkEncoder

    public ChunkEncoder(WritableByteChannel channel,
                SessionOutputBuffer buffer,
                HttpTransportMetricsImpl metrics,
                int fragementSizeHint)

Parameters:
  `channel` - underlying channel.
  `buffer` - session buffer.
  `metrics` - transport metrics.
  `fragementSizeHint` - fragment size hint defining an minimal size of a fragment that should be written out directly to the channel bypassing the session buffer. Value `0` disables fragment buffering.
Since:
  4.3

#### ChunkEncoder

    public ChunkEncoder(WritableByteChannel channel,
                SessionOutputBuffer buffer,
                HttpTransportMetricsImpl metrics)

### Method Detail

#### write

    public int write(ByteBuffer src)
              throws IOException

Description copied from interface: `ContentEncoder`
Writes a portion of entity content to the underlying channel.

Parameters:
  `src` - The buffer from which content is to be retrieved
Returns:
  The number of bytes read, possibly zero
Throws:
  `IOException` - if I/O error occurs while writing content

#### complete

    public void complete()
                  throws IOException

Description copied from interface: `ContentEncoder`
Terminates the content stream.

Specified by:
  `complete` in interface `ContentEncoder`
Overrides:
  `complete` in class `AbstractContentEncoder`
Throws:
  `IOException` - if I/O error occurs while writing content

#### toString

    public String toString()

Overrides:
  `toString` in class `Object`