HADOOP-8244. Improve comments on ByteBufferReadable.read. Contributed by Henry Robinson.

git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/trunk@1309625 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Aaron Myers 2012-04-04 23:36:29 +00:00
parent 1d6038ecfb
commit 8a109ebebb
2 changed files with 18 additions and 6 deletions

View File

@ -52,6 +52,8 @@ Trunk (unreleased changes)
HADOOP-7994. Remove getProtocolVersion and getProtocolSignature from the HADOOP-7994. Remove getProtocolVersion and getProtocolSignature from the
client side translator and server side implementation. (jitendra) client side translator and server side implementation. (jitendra)
HADOOP-8244. Improve comments on ByteBufferReadable.read. (Henry Robinson
via atm)
BUG FIXES BUG FIXES

View File

@ -28,18 +28,28 @@ public interface ByteBufferReadable {
/** /**
* Reads up to buf.remaining() bytes into buf. Callers should use * Reads up to buf.remaining() bytes into buf. Callers should use
* buf.limit(..) to control the size of the desired read. * buf.limit(..) to control the size of the desired read.
* * <p/>
* After the call, buf.position() should be unchanged, and therefore any data * After a successful call, buf.position() and buf.limit() should be
* can be immediately read from buf. * unchanged, and therefore any data can be immediately read from buf.
* * buf.mark() may be cleared or updated.
* <p/>
* In the case of an exception, the values of buf.position() and buf.limit()
* are undefined, and callers should be prepared to recover from this
* eventuality.
* <p/>
* Many implementations will throw {@link UnsupportedOperationException}, so * Many implementations will throw {@link UnsupportedOperationException}, so
* callers that are not confident in support for this method from the * callers that are not confident in support for this method from the
* underlying filesystem should be prepared to handle that exception. * underlying filesystem should be prepared to handle that exception.
* <p/>
* Implementations should treat 0-length requests as legitimate, and must not
* signal an error upon their receipt.
* *
* @param buf * @param buf
* the ByteBuffer to receive the results of the read operation * the ByteBuffer to receive the results of the read operation. Up to
* buf.limit() - buf.position() bytes may be read.
* @return the number of bytes available to read from buf * @return the number of bytes available to read from buf
* @throws IOException if there is some error performing the read * @throws IOException
* if there is some error performing the read
*/ */
public int read(ByteBuffer buf) throws IOException; public int read(ByteBuffer buf) throws IOException;
} }