Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.http.impl.nio.codecs
Class IdentityDecoder

    java.lang.Object
      org.apache.http.impl.nio.codecs.AbstractContentDecoder
          org.apache.http.impl.nio.codecs.IdentityDecoder

All Implemented Interfaces:
  ContentDecoder, FileContentDecoder

    public class IdentityDecoder

extends AbstractContentDecoder
implements FileContentDecoder

Content decoder that reads data without any transformation. The end of the content entity is delineated by closing the underlying connection (EOF condition). Entities transferred using this input stream can be of unlimited length.

This decoder is optimized to transfer data directly from the underlying I/O session's channel to a `FileChannel`, whenever possible avoiding intermediate buffering in the session buffer.

Since:
  4.0

Field Summary

Fields inherited from class org.apache.http.impl.nio.codecs.AbstractContentDecoder
`buffer, channel, completed, metrics`

Constructor Summary
`IdentityDecoder(ReadableByteChannel channel, SessionInputBuffer buffer, HttpTransportMetricsImpl metrics)`

Method Summary
`int` | `read(ByteBuffer dst)` Reads a portion of content from the underlying channel
`String` | `toString()`
`long` | `transfer(FileChannel dst, long position, long count)` Transfers a portion of entity content from the underlying network channel into the given file channel.

Methods inherited from class org.apache.http.impl.nio.codecs.AbstractContentDecoder
`fillBufferFromChannel, isCompleted, readFromChannel, readFromChannel, setCompleted, setCompleted`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Methods inherited from interface org.apache.http.nio.ContentDecoder
`isCompleted`

Constructor Detail

### IdentityDecoder

    public IdentityDecoder(ReadableByteChannel channel,
                           SessionInputBuffer buffer,
                           HttpTransportMetricsImpl metrics)

Method Detail

### read

    public int read(ByteBuffer dst)
             throws IOException

  Description copied from interface: `ContentDecoder`
  Reads a portion of content from the underlying channel

  Specified by:
    `read` in interface `ContentDecoder`
  Parameters:
    `dst` - The buffer into which entity content is to be transferred
  Returns:
    The number of bytes read, possibly zero, or -1 if the channel has reached end-of-stream
  Throws:
    `IOException` - if I/O error occurs while reading content

### transfer

    public long transfer(FileChannel dst,
                         long position,
                         long count)
                  throws IOException

  Description copied from interface: `FileContentDecoder`
  Transfers a portion of entity content from the underlying network channel into the given file channel.

  Warning: Many implementations cannot write beyond the length of the file. If the position exceeds the channel's size, some implementations may throw an IOException.

  Specified by:
    `transfer` in interface `FileContentDecoder`
  Parameters:
    `dst` - the target FileChannel to transfer data into.
    `position` - The position within the file at which the transfer is to begin; must be non-negative. Must be less than or equal to the size of the file
    `count` - The maximum number of bytes to be transferred; must be non-negative
  Returns:
    The number of bytes, possibly zero, that were actually transferred
  Throws:
    `IOException` - if some I/O error occurs.

### toString

    public String toString()

  Overrides:
    `toString` in class `Object`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2005–2021 The Apache Software Foundation. All rights reserved.