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

Unified Diff: net/spdy/spdy_session_pool.cc

Issue 11415219: Move a number of static variables SPDY to HttpNetworkSession::Params. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Moar cleanup Created 8 years, 1 month 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/spdy/spdy_session_pool.cc
diff --git a/net/spdy/spdy_session_pool.cc b/net/spdy/spdy_session_pool.cc
index 3c9db1d4310145856eed468455e8f6eabd2cc249..84503c593d4e2dd1e1debf53f9f2486199daa162 100644
--- a/net/spdy/spdy_session_pool.cc
+++ b/net/spdy/spdy_session_pool.cc
@@ -36,22 +36,44 @@ bool HostPortProxyPairsAreEqual(const HostPortProxyPair& a,
// The maximum number of sessions to open to a single domain.
static const size_t kMaxSessionsPerDomain = 1;
-size_t SpdySessionPool::g_max_sessions_per_domain = kMaxSessionsPerDomain;
-bool SpdySessionPool::g_force_single_domain = false;
-bool SpdySessionPool::g_enable_ip_pooling = true;
-
SpdySessionPool::SpdySessionPool(
HostResolver* resolver,
SSLConfigService* ssl_config_service,
HttpServerProperties* http_server_properties,
+ size_t max_sessions_per_domain,
+ bool force_single_domain,
+ bool enable_ip_pooling,
+ bool enable_credential_frames,
+ bool enable_compression,
+ bool enable_ping_based_connection_checking,
+ NextProto default_protocol,
+ size_t initial_recv_window_size,
+ size_t initial_max_concurrent_streams,
+ size_t max_concurrent_streams_limit,
+ SpdySessionPool::TimeFunc time_func,
const std::string& trusted_spdy_proxy)
: http_server_properties_(http_server_properties),
ssl_config_service_(ssl_config_service),
resolver_(resolver),
verify_domain_authentication_(true),
enable_sending_initial_settings_(true),
+ max_sessions_per_domain_(max_sessions_per_domain == 0 ?
+ kMaxSessionsPerDomain :
+ max_sessions_per_domain),
+ force_single_domain_(force_single_domain),
+ enable_ip_pooling_(enable_ip_pooling),
+ enable_credential_frames_(enable_credential_frames),
+ enable_compression_(enable_compression),
+ enable_ping_based_connection_checking_(
+ enable_ping_based_connection_checking),
+ default_protocol_(default_protocol),
+ initial_recv_window_size_(initial_recv_window_size),
+ initial_max_concurrent_streams_(initial_max_concurrent_streams),
+ max_concurrent_streams_limit_(max_concurrent_streams_limit),
+ time_func_(time_func),
trusted_spdy_proxy_(
HostPortPair::FromString(trusted_spdy_proxy)) {
+ //DCHECK(!enable_compression_);
willchan no longer on Chromium 2012/12/01 20:49:13 Delete?
Ryan Hamilton 2012/12/01 23:02:25 Done.
NetworkChangeNotifier::AddIPAddressObserver(this);
if (ssl_config_service_)
ssl_config_service_->AddObserver(this);
@@ -107,7 +129,7 @@ scoped_refptr<SpdySession> SpdySessionPool::GetInternal(
}
DCHECK(list);
- if (list->size() && list->size() == g_max_sessions_per_domain) {
+ if (list->size() && list->size() == max_sessions_per_domain_) {
UMA_HISTOGRAM_ENUMERATION("Net.SpdySessionGet",
FOUND_EXISTING,
SPDY_SESSION_GET_MAX);
@@ -124,6 +146,14 @@ scoped_refptr<SpdySession> SpdySessionPool::GetInternal(
http_server_properties_,
verify_domain_authentication_,
enable_sending_initial_settings_,
+ enable_credential_frames_,
+ enable_compression_,
+ enable_ping_based_connection_checking_,
+ default_protocol_,
+ initial_recv_window_size_,
+ initial_max_concurrent_streams_,
+ max_concurrent_streams_limit_,
+ time_func_,
trusted_spdy_proxy_,
net_log.net_log());
UMA_HISTOGRAM_ENUMERATION("Net.SpdySessionGet",
@@ -133,7 +163,7 @@ scoped_refptr<SpdySession> SpdySessionPool::GetInternal(
net_log.AddEvent(
NetLog::TYPE_SPDY_SESSION_POOL_CREATED_NEW_SESSION,
spdy_session->net_log().source().ToEventParametersCallback());
- DCHECK_LE(list->size(), g_max_sessions_per_domain);
+ DCHECK_LE(list->size(), max_sessions_per_domain_);
return spdy_session;
}
@@ -152,6 +182,14 @@ net::Error SpdySessionPool::GetSpdySessionFromSocket(
http_server_properties_,
verify_domain_authentication_,
enable_sending_initial_settings_,
+ enable_credential_frames_,
+ enable_compression_,
+ enable_ping_based_connection_checking_,
+ default_protocol_,
+ initial_recv_window_size_,
+ initial_max_concurrent_streams_,
+ max_concurrent_streams_limit_,
+ time_func_,
trusted_spdy_proxy_,
net_log.net_log());
SpdySessionList* list = GetSessionList(host_port_proxy_pair);
@@ -169,7 +207,7 @@ net::Error SpdySessionPool::GetSpdySessionFromSocket(
// potentially be pooled with this one. Because GetPeerAddress() reports the
// proxy's address instead of the origin server, check to see if this is a
// direct connection.
- if (g_enable_ip_pooling && host_port_proxy_pair.second.is_direct()) {
+ if (enable_ip_pooling_ && host_port_proxy_pair.second.is_direct()) {
IPEndPoint address;
if (connection->socket()->GetPeerAddress(&address) == OK)
AddAlias(address, host_port_proxy_pair);
@@ -267,7 +305,7 @@ scoped_refptr<SpdySession> SpdySessionPool::GetFromAlias(
// We should only be checking aliases when there is no direct session.
DCHECK(!GetSessionList(host_port_proxy_pair));
- if (!g_enable_ip_pooling)
+ if (!enable_ip_pooling_)
return NULL;
AddressList addresses;
@@ -323,7 +361,7 @@ void SpdySessionPool::OnCertTrustChanged(const X509Certificate* cert) {
const HostPortProxyPair& SpdySessionPool::NormalizeListPair(
const HostPortProxyPair& host_port_proxy_pair) const {
- if (!g_force_single_domain)
+ if (!force_single_domain_)
return host_port_proxy_pair;
static HostPortProxyPair* single_domain_pair = NULL;
@@ -379,7 +417,7 @@ bool SpdySessionPool::LookupAddresses(const HostPortProxyPair& pair,
void SpdySessionPool::AddAlias(const IPEndPoint& endpoint,
const HostPortProxyPair& pair) {
- DCHECK(g_enable_ip_pooling);
+ DCHECK(enable_ip_pooling_);
aliases_[endpoint] = pair;
}

Powered by Google App Engine
This is Rietveld 408576698