--- old/src/java.httpclient/share/classes/java/net/http/BufferHandler.java 2016-04-25 23:10:02.709375130 +0100 +++ new/src/java.httpclient/share/classes/java/net/http/BufferHandler.java 2016-04-25 23:10:02.341375136 +0100 @@ -27,11 +27,23 @@ import java.nio.ByteBuffer; /** - * Implemented by buffer pools. + * Implemented by buffer pools. A buffer pool has a current buffer size + * (number of bytes in each buffer) which may increase over time. */ interface BufferHandler { - ByteBuffer getBuffer(); + default ByteBuffer getBuffer() { + return getBuffer(-1); + } + + void setMinBufferSize(int size); + + /** + * size == -1 means return any sized buffer. Any other value means + * @param size + * @return + */ + ByteBuffer getBuffer(int size); void returnBuffer(ByteBuffer buffer); }