org.apache.http.impl.nio.codecs
Class LengthDelimitedDecoder
java.lang.Object
org.apache.http.impl.nio.codecs.AbstractContentDecoder
org.apache.http.impl.nio.codecs.LengthDelimitedDecoder
- All Implemented Interfaces:
- ContentDecoder, FileContentDecoder
public class LengthDelimitedDecoder
- extends AbstractContentDecoder
- implements FileContentDecoder
Content-Length delimited decoder implementation.
- Since:
- 4.0
- Version:
- $Revision: 665886 $
- Author:
- Oleg Kalnichevski, Andrea Selva
Method Summary |
int |
read(java.nio.ByteBuffer dst)
Reads a portion of content from the underlying channel |
java.lang.String |
toString()
|
long |
transfer(java.nio.channels.FileChannel dst,
long position,
long count)
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. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
LengthDelimitedDecoder
public LengthDelimitedDecoder(java.nio.channels.ReadableByteChannel channel,
SessionInputBuffer buffer,
HttpTransportMetricsImpl metrics,
long contentLength)
read
public int read(java.nio.ByteBuffer dst)
throws java.io.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:
java.io.IOException
- if I/O error occurs while reading content
transfer
public long transfer(java.nio.channels.FileChannel dst,
long position,
long count)
throws java.io.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 filecount
- The maximum number of bytes to be transferred; must be
non-negative
- Returns:
- The number of bytes, possibly zero,
that were actually transferred
- Throws:
java.io.IOException
toString
public java.lang.String toString()
- Overrides:
toString
in class java.lang.Object
Copyright © 2005-2008 Apache Software Foundation. All Rights Reserved.