6257f0c1c5e6e94d446051f856207782d7188c43 |
|
01-Dec-2014 |
Neil Fuller <nfuller@google.com> |
Fixes to ConnectionPool noticed during upstream review Suggested by Jake Wharton. Minor documentation fixes, plus: The pool should explicitly re-enter DRAINING state if a connection is added to a drained pool. This state change was missing. The pool was implicitly in DRAINING while the pool still had connections in it, so the pool would still drain. However, adding back connections to a pool that was DRAINING but still incorrectly marked as DRAINED would cause a new runnable to be scheduled. This would cause the queue of scheduled items to grow unnecesarily and the clean up thread would continue to operate longer than necessary. Bug: 18369687 Change-Id: I2228b33f8240890d3736da1a21c8cc852fceec25
/external/okhttp/okhttp/src/main/java/com/squareup/okhttp/ConnectionPool.java
|
f3bcd0c7f0741b277b5d58f294df6201dafd45e8 |
|
19-Nov-2014 |
Neil Fuller <nfuller@google.com> |
Fix for a socket leak in OkHttp on Android When the preferred Android network changes from cell -> wifi or wifi -> cell the HTTP connection pool in use is abandoned to avoid reuse of connections on the old network. This was added in commit 8bced3e. The design for the connection pool was such that continuous use of the connection pool was required to clean up idle / expired connections. If a connection pool becomes idle (as when it is dereferenced on a network change) it is possible for some connections to remain in the pool indefinitely. After the preferred network change, because the old connection pool was no longer referenced the pool would be garbage collected and Android's "Strict Mode" would complain about sockets not being closed. The only existing way to avoid this was to call "evictAll()", which would have had issues when a large number of connections were returned to the pool after evictAll() was called. It also wouldn't work for SPDY connections which are shared but not reference counted, which makes knowing whether it is safe to close them difficult. SPDY is not enabled on Android by default and so that may have been safe to ignore. This fix tries to keep the existing cleaning behavior intact to avoid introducing new bugs or new thread behavior that might impact battery life. It adds a new mode to the pool for "draining", which handles cleaning up any existing entries in the pool and any added after the pool has been placed into draining mode. The drainModeRunnable introduced serves two purposes: 1) While scheduled / executing, it pins the connection pool in memory to avoid it being garbage collected. 2) It continues to close connections (safely) until the pool is empty. If a connection is then added back to the pool the drainModeRunnable is restarted. Bug: 18369687 (cherry picked from commit ff345b6c0ffcc691e4c3c594f8a222cf81bb325c) Change-Id: I4e9e530f8e7acedf4b9a806237c8769a10671feb
/external/okhttp/okhttp/src/main/java/com/squareup/okhttp/ConnectionPool.java
|
78092f38ebd93018ead53a87b53118dc829cbb8a |
|
01-Apr-2014 |
Neil Fuller <nfuller@google.com> |
Pull upstream fixes from OkHttp This synced to commit b21b40e480cdcd09b618e399a349556de509d88d / master / 1st April 2014. Notably this contains a fix for apps that bundle an older copy of OkHttp or which call android.net.http.HttpResponseCache.get() or android.net.http.HttpResponseCache.put(). See for details: https://github.com/square/okhttp/pull/672 Change-Id: I90acd9f9946014e834ea203dbc62cdcf7bc80cc6
/external/okhttp/okhttp/src/main/java/com/squareup/okhttp/ConnectionPool.java
|
3c938a3f6b61ce5e2dba0d039b03fe73b89fd26c |
|
19-Feb-2014 |
Neil Fuller <nfuller@google.com> |
Update okhttp to a more recent commit. Updating to upstream commit : 7b106923e078ac2435e8c8ce9d615f9903106ed8 / 7th Mar 2014 / main branch. The following changes were made to Android-only code: 1) HttpsHandler has been changed to deal with the fix for: https://github.com/square/okhttp/issues/184 (commit 5d7fdba). 2) Platform.java changed to accomodate changes in okhttp Platform method signatures. 3) .mk file updates to reflect src directory changes. The following changes were made to OkHttp code: 1) Removal of org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement annotation from okio/src/main/java/okio/DeflaterSink.java Change-Id: I644a883482ac7ee7d029785f110a2ca00762419b
/external/okhttp/okhttp/src/main/java/com/squareup/okhttp/ConnectionPool.java
|
166772be0e5cfdaea1a64b9f63e4c8dbfe48cba3 |
|
04-Nov-2013 |
Narayan Kamath <narayan@google.com> |
Update okhttp. Updated to commit 19a21936ffbb5e358799af9e4fb7306af45f38. This also moves src/ to okhttp/src/ to stay faithful to the original okhttp tree & to make it easier to pull updates. Change-Id: Ia1971823f31e5c6957d831f368e3a1fcce38d44d
/external/okhttp/okhttp/src/main/java/com/squareup/okhttp/ConnectionPool.java
|