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

Unified Diff: net/http/http_network_session.cc

Issue 2104013: Revert r47395. Looks like it still crashes =/ (Closed) Base URL: http://src.chromium.org/git/chromium.git
Patch Set: Created 10 years, 7 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
« no previous file with comments | « net/http/http_network_session.h ('k') | net/http/http_network_session_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: net/http/http_network_session.cc
diff --git a/net/http/http_network_session.cc b/net/http/http_network_session.cc
index 78998285dcc011b1657cc479149e7bb157267337..2d05a55da3fc4e02caaa33562eead80621c2f892 100644
--- a/net/http/http_network_session.cc
+++ b/net/http/http_network_session.cc
@@ -35,61 +35,31 @@ uint16 g_fixed_https_port = 0;
} // namespace
+// TODO(vandebo) when we've completely converted to pools, the base TCP
+// pool name should get changed to TCP instead of Transport.
HttpNetworkSession::HttpNetworkSession(
NetworkChangeNotifier* network_change_notifier,
HostResolver* host_resolver,
ProxyService* proxy_service,
ClientSocketFactory* client_socket_factory,
SSLConfigService* ssl_config_service,
+ SpdySessionPool* spdy_session_pool,
HttpAuthHandlerFactory* http_auth_handler_factory)
: network_change_notifier_(network_change_notifier),
+ tcp_socket_pool_(new TCPClientSocketPool(
+ g_max_sockets, g_max_sockets_per_group, "Transport",
+ host_resolver, client_socket_factory, network_change_notifier_)),
socket_factory_(client_socket_factory),
host_resolver_(host_resolver),
- tcp_socket_pool_(CreateNewTCPSocketPool()),
proxy_service_(proxy_service),
ssl_config_service_(ssl_config_service),
- spdy_session_pool_(new SpdySessionPool),
+ spdy_session_pool_(spdy_session_pool),
http_auth_handler_factory_(http_auth_handler_factory) {
DCHECK(proxy_service);
DCHECK(ssl_config_service);
-
- if (network_change_notifier_)
- network_change_notifier_->AddObserver(this);
}
HttpNetworkSession::~HttpNetworkSession() {
- if (network_change_notifier_)
- network_change_notifier_->RemoveObserver(this);
-}
-
-void HttpNetworkSession::OnIPAddressChanged() {
- Flush();
-}
-
-void HttpNetworkSession::Flush() {
- // TODO(willchan): Flush |host_resolver_|.
- tcp_socket_pool()->CloseIdleSockets();
- tcp_socket_pool_ = CreateNewTCPSocketPool();
- for (HTTPProxySocketPoolMap::iterator it = http_proxy_socket_pool_.begin();
- it != http_proxy_socket_pool_.end(); ++it)
- it->second->CloseIdleSockets();
- http_proxy_socket_pool_.clear();
- for (SOCKSSocketPoolMap::iterator it = socks_socket_pool_.begin();
- it != socks_socket_pool_.end(); ++it)
- it->second->CloseIdleSockets();
- socks_socket_pool_.clear();
- spdy_session_pool_ = new SpdySessionPool;
-}
-
-scoped_refptr<TCPClientSocketPool>
-HttpNetworkSession::CreateNewTCPSocketPool() {
- // TODO(vandebo) when we've completely converted to pools, the base TCP
- // pool name should get changed to TCP instead of Transport.
- return new TCPClientSocketPool(g_max_sockets,
- g_max_sockets_per_group,
- "Transport",
- host_resolver_,
- socket_factory_);
}
const scoped_refptr<TCPClientSocketPool>&
@@ -105,7 +75,8 @@ HttpNetworkSession::GetSocketPoolForHTTPProxy(const HostPortPair& http_proxy) {
http_proxy,
new TCPClientSocketPool(
g_max_sockets_per_proxy_server, g_max_sockets_per_group,
- "HTTPProxy", host_resolver_, socket_factory_)));
+ "HTTPProxy", host_resolver_, socket_factory_,
+ network_change_notifier_)));
return ret.first->second;
}
@@ -127,7 +98,9 @@ HttpNetworkSession::GetSocketPoolForSOCKSProxy(
new TCPClientSocketPool(g_max_sockets_per_proxy_server,
g_max_sockets_per_group,
"TCPForSOCKS", host_resolver_,
- socket_factory_))));
+ socket_factory_,
+ network_change_notifier_),
+ network_change_notifier_)));
return ret.first->second;
}
@@ -160,4 +133,15 @@ void HttpNetworkSession::set_fixed_https_port(uint16 port) {
g_fixed_https_port = port;
}
+// TODO(vandebo) when we've completely converted to pools, the base TCP
+// pool name should get changed to TCP instead of Transport.
+void HttpNetworkSession::ReplaceTCPSocketPool() {
+ tcp_socket_pool_ = new TCPClientSocketPool(g_max_sockets,
+ g_max_sockets_per_group,
+ "Transport",
+ host_resolver_,
+ socket_factory_,
+ network_change_notifier_);
+}
+
} // namespace net
« no previous file with comments | « net/http/http_network_session.h ('k') | net/http/http_network_session_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698