diff options
author | Elliott Hughes <enh@google.com> | 2011-05-16 09:14:35 -0700 |
---|---|---|
committer | Android Code Review <code-review@android.com> | 2011-05-16 09:14:35 -0700 |
commit | 00efe680b4cc6e9849cb270058ac5967af92ffef (patch) | |
tree | 7de8c86f514d4978d0f74beb7bb9702656578dcf /src/org/apache/http/impl/io/SocketOutputBuffer.java | |
parent | e59c288fca5a99d07f09494e8d03a228a347c3f8 (diff) | |
parent | 20b0c846435c5d89154d3e1d50ca26d0cb32f455 (diff) | |
download | external_apache-http-00efe680b4cc6e9849cb270058ac5967af92ffef.zip external_apache-http-00efe680b4cc6e9849cb270058ac5967af92ffef.tar.gz external_apache-http-00efe680b4cc6e9849cb270058ac5967af92ffef.tar.bz2 |
Merge "Make Apache HttpClient play nice with large kernel socket buffers."
Diffstat (limited to 'src/org/apache/http/impl/io/SocketOutputBuffer.java')
-rw-r--r-- | src/org/apache/http/impl/io/SocketOutputBuffer.java | 31 |
1 files changed, 10 insertions, 21 deletions
diff --git a/src/org/apache/http/impl/io/SocketOutputBuffer.java b/src/org/apache/http/impl/io/SocketOutputBuffer.java index efb91e9..c1d3b49 100644 --- a/src/org/apache/http/impl/io/SocketOutputBuffer.java +++ b/src/org/apache/http/impl/io/SocketOutputBuffer.java @@ -43,37 +43,26 @@ import org.apache.http.params.HttpParams; * @author <a href="mailto:oleg at ural.ru">Oleg Kalnichevski</a> * * @version $Revision: 560358 $ - * + * * @since 4.0 */ public class SocketOutputBuffer extends AbstractSessionOutputBuffer { public SocketOutputBuffer( - final Socket socket, + final Socket socket, int buffersize, final HttpParams params) throws IOException { super(); if (socket == null) { throw new IllegalArgumentException("Socket may not be null"); } - if (buffersize < 0) { - buffersize = socket.getReceiveBufferSize(); -// BEGIN android-changed - // Workaround for http://b/issue?id=1083103. - if (buffersize > 8096) { - buffersize = 8096; - } -// END android-changed - } - if (buffersize < 1024) { - buffersize = 1024; - } - -// BEGIN android-changed - socket.setSendBufferSize(buffersize * 3); -// END andrdoid-changed - - init(socket.getOutputStream(), buffersize, params); + // BEGIN android-changed + // Workaround for http://b/1083103 and http://b/3514259. We take + // 'buffersize' as a hint in the weakest sense, and always use + // an 8KiB heap buffer and leave the kernel buffer size alone, + // trusting the system to have set a network-appropriate default. + init(socket.getOutputStream(), 8192, params); + // END android-changed } - + } |