summaryrefslogtreecommitdiffstats
path: root/net/socket
diff options
context:
space:
mode:
authoryhirano@chromium.org <yhirano@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-06-26 06:04:25 +0000
committeryhirano@chromium.org <yhirano@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-06-26 06:04:25 +0000
commitcb50a3d14483ff939b4aeaabbddb99ef6db12599 (patch)
treefa1ab99379cbb68a3d5f30cbd982bc5e9da95bbc /net/socket
parent6bfc220cd4df1577ebae83bf421134222d80b7bf (diff)
downloadchromium_src-cb50a3d14483ff939b4aeaabbddb99ef6db12599.zip
chromium_src-cb50a3d14483ff939b4aeaabbddb99ef6db12599.tar.gz
chromium_src-cb50a3d14483ff939b4aeaabbddb99ef6db12599.tar.bz2
Use the appropriate socket pool on socket connection.
WebSocket connections should use WEBSOCKET_SOCKET_POOL socket pools. InitSocketHandleForWebSocketRequest now uses WEBSOCKET_SOCKET_POOL socket pools. Other InitSocketHandle* functions are unchanged. BUG=118268 R=mmenke TEST=net_unittests Review URL: https://chromiumcodereview.appspot.com/17568008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@208643 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/socket')
-rw-r--r--net/socket/client_socket_pool_manager.cc32
-rw-r--r--net/socket/client_socket_pool_manager.h1
2 files changed, 16 insertions, 17 deletions
diff --git a/net/socket/client_socket_pool_manager.cc b/net/socket/client_socket_pool_manager.cc
index c00b5ec..9282901 100644
--- a/net/socket/client_socket_pool_manager.cc
+++ b/net/socket/client_socket_pool_manager.cc
@@ -81,6 +81,7 @@ int InitSocketPoolHelper(const GURL& request_url,
const BoundNetLog& net_log,
int num_preconnect_streams,
ClientSocketHandle* socket_handle,
+ HttpNetworkSession::SocketPoolType socket_pool_type,
const OnHostResolutionCallback& resolution_callback,
const CompletionCallback& callback) {
scoped_refptr<TransportSocketParams> tcp_params;
@@ -235,12 +236,10 @@ int InitSocketPoolHelper(const GURL& request_url,
SSLClientSocketPool* ssl_pool = NULL;
if (proxy_info.is_direct()) {
- ssl_pool = session->GetSSLSocketPool(
- HttpNetworkSession::NORMAL_SOCKET_POOL);
+ ssl_pool = session->GetSSLSocketPool(socket_pool_type);
} else {
- ssl_pool = session->GetSocketPoolForSSLWithProxy(
- HttpNetworkSession::NORMAL_SOCKET_POOL,
- *proxy_host_port);
+ ssl_pool = session->GetSocketPoolForSSLWithProxy(socket_pool_type,
+ *proxy_host_port);
}
if (num_preconnect_streams) {
@@ -258,9 +257,7 @@ int InitSocketPoolHelper(const GURL& request_url,
if (proxy_info.is_http() || proxy_info.is_https()) {
HttpProxyClientSocketPool* pool =
- session->GetSocketPoolForHTTPProxy(
- HttpNetworkSession::NORMAL_SOCKET_POOL,
- *proxy_host_port);
+ session->GetSocketPoolForHTTPProxy(socket_pool_type, *proxy_host_port);
if (num_preconnect_streams) {
RequestSocketsForPool(pool, connection_group, http_proxy_params,
num_preconnect_streams, net_log);
@@ -274,9 +271,7 @@ int InitSocketPoolHelper(const GURL& request_url,
if (proxy_info.is_socks()) {
SOCKSClientSocketPool* pool =
- session->GetSocketPoolForSOCKSProxy(
- HttpNetworkSession::NORMAL_SOCKET_POOL,
- *proxy_host_port);
+ session->GetSocketPoolForSOCKSProxy(socket_pool_type, *proxy_host_port);
if (num_preconnect_streams) {
RequestSocketsForPool(pool, connection_group, socks_params,
num_preconnect_streams, net_log);
@@ -291,7 +286,7 @@ int InitSocketPoolHelper(const GURL& request_url,
DCHECK(proxy_info.is_direct());
TransportClientSocketPool* pool =
- session->GetTransportSocketPool(HttpNetworkSession::NORMAL_SOCKET_POOL);
+ session->GetTransportSocketPool(socket_pool_type);
if (num_preconnect_streams) {
RequestSocketsForPool(pool, connection_group, tcp_params,
num_preconnect_streams, net_log);
@@ -391,7 +386,8 @@ int InitSocketHandleForHttpRequest(
request_url, request_extra_headers, request_load_flags, request_priority,
session, proxy_info, force_spdy_over_ssl, want_spdy_over_npn,
ssl_config_for_origin, ssl_config_for_proxy, false, privacy_mode, net_log,
- 0, socket_handle, resolution_callback, callback);
+ 0, socket_handle, HttpNetworkSession::NORMAL_SOCKET_POOL,
+ resolution_callback, callback);
}
int InitSocketHandleForWebSocketRequest(
@@ -415,7 +411,8 @@ int InitSocketHandleForWebSocketRequest(
request_url, request_extra_headers, request_load_flags, request_priority,
session, proxy_info, force_spdy_over_ssl, want_spdy_over_npn,
ssl_config_for_origin, ssl_config_for_proxy, true, privacy_mode, net_log,
- 0, socket_handle, resolution_callback, callback);
+ 0, socket_handle, HttpNetworkSession::WEBSOCKET_SOCKET_POOL,
+ resolution_callback, callback);
}
int InitSocketHandleForRawConnect(
@@ -439,7 +436,8 @@ int InitSocketHandleForRawConnect(
request_url, request_extra_headers, request_load_flags, request_priority,
session, proxy_info, false, false, ssl_config_for_origin,
ssl_config_for_proxy, true, privacy_mode, net_log, 0, socket_handle,
- OnHostResolutionCallback(), callback);
+ HttpNetworkSession::NORMAL_SOCKET_POOL, OnHostResolutionCallback(),
+ callback);
}
int PreconnectSocketsForHttpRequest(
@@ -460,8 +458,8 @@ int PreconnectSocketsForHttpRequest(
request_url, request_extra_headers, request_load_flags, request_priority,
session, proxy_info, force_spdy_over_ssl, want_spdy_over_npn,
ssl_config_for_origin, ssl_config_for_proxy, false, privacy_mode, net_log,
- num_preconnect_streams, NULL, OnHostResolutionCallback(),
- CompletionCallback());
+ num_preconnect_streams, NULL, HttpNetworkSession::NORMAL_SOCKET_POOL,
+ OnHostResolutionCallback(), CompletionCallback());
}
} // namespace net
diff --git a/net/socket/client_socket_pool_manager.h b/net/socket/client_socket_pool_manager.h
index a514d25..1b78324 100644
--- a/net/socket/client_socket_pool_manager.h
+++ b/net/socket/client_socket_pool_manager.h
@@ -114,6 +114,7 @@ int InitSocketHandleForHttpRequest(
// |resolution_callback| will be invoked after the the hostname is
// resolved. If |resolution_callback| does not return OK, then the
// connection will be aborted with that value.
+// This function uses WEBSOCKET_SOCKET_POOL socket pools.
int InitSocketHandleForWebSocketRequest(
const GURL& request_url,
const HttpRequestHeaders& request_extra_headers,