Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1590)

Unified Diff: net/socket/client_socket_pool_base.cc

Issue 169643006: Use sockets with unread data if they've never been used before. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Tweak SpdySession::IsReused (erf, got mixed in with a rebase) Created 6 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: net/socket/client_socket_pool_base.cc
diff --git a/net/socket/client_socket_pool_base.cc b/net/socket/client_socket_pool_base.cc
index 1c79923a40057f5db9c2ef2cd9920e4eda4da43e..93bdc92e791bb17e154b2fefe6c047fc213bff69 100644
--- a/net/socket/client_socket_pool_base.cc
+++ b/net/socket/client_socket_pool_base.cc
@@ -449,7 +449,7 @@ bool ClientSocketPoolBaseHelper::AssignIdleSocketToRequest(
// the |idle_socket_it| will be set to the newest used idle socket.
for (std::list<IdleSocket>::iterator it = idle_sockets->begin();
it != idle_sockets->end();) {
- if (!it->socket->IsConnectedAndIdle()) {
+ if (!it->IsReusable()) {
DecrementIdleCount();
delete it->socket;
it = idle_sockets->erase(it);
@@ -642,15 +642,19 @@ base::DictionaryValue* ClientSocketPoolBaseHelper::GetInfoAsValue(
return dict;
}
+bool ClientSocketPoolBaseHelper::IdleSocket::IsReusable() const {
+ if (socket->WasEverUsed())
+ return socket->IsConnectedAndIdle();
+ return socket->IsConnected();
+}
+
bool ClientSocketPoolBaseHelper::IdleSocket::ShouldCleanup(
base::TimeTicks now,
base::TimeDelta timeout) const {
bool timed_out = (now - start_time) >= timeout;
if (timed_out)
return true;
- if (socket->WasEverUsed())
- return !socket->IsConnectedAndIdle();
- return !socket->IsConnected();
+ return !IsReusable();
}
void ClientSocketPoolBaseHelper::CleanupIdleSockets(bool force) {

Powered by Google App Engine
This is Rietveld 408576698