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

Unified Diff: net/quic/quic_stream_factory.cc

Issue 192583004: QUIC - use QuicSessionKey tuple (host, port, is_https) instead of server_hostname (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Merge with TOT 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/quic/quic_stream_factory.cc
diff --git a/net/quic/quic_stream_factory.cc b/net/quic/quic_stream_factory.cc
index f1e29c1e2462c5482b84be7b5c2537ac76618091..f54af962dd7493de5e3b3deb0e326a060ff6868f 100644
--- a/net/quic/quic_stream_factory.cc
+++ b/net/quic/quic_stream_factory.cc
@@ -31,6 +31,7 @@
#include "net/quic/quic_default_packet_writer.h"
#include "net/quic/quic_http_stream.h"
#include "net/quic/quic_protocol.h"
+#include "net/quic/quic_session_key.h"
#include "net/socket/client_socket_factory.h"
using std::string;
@@ -399,11 +400,10 @@ int QuicStreamFactory::Create(const HostPortPair& host_port_pair,
QuicCryptoClientConfig* crypto_config =
GetOrCreateCryptoConfig(session_key);
QuicCryptoClientConfig::CachedState* cached =
- crypto_config->LookupOrCreate(session_key.host_port_pair().host());
+ crypto_config->LookupOrCreate(session_key);
DCHECK(cached);
if (cached->IsEmpty()) {
- quic_server_info =
- quic_server_info_factory_->GetForHost(host_port_pair.host());
+ quic_server_info = quic_server_info_factory_->GetForServer(session_key);
}
}
scoped_ptr<Job> job(new Job(this, host_resolver_, host_port_pair,
@@ -438,7 +438,7 @@ bool QuicStreamFactory::OnResolution(
for (SessionSet::const_iterator i = sessions.begin();
i != sessions.end(); ++i) {
QuicClientSession* session = *i;
- if (!session->CanPool(session_key.host_port_pair().host()))
+ if (!session->CanPool(session_key.host()))
continue;
active_sessions_[session_key] = session;
session_aliases_[session].insert(session_key);
@@ -715,8 +715,8 @@ int QuicStreamFactory::CreateSession(
*session = new QuicClientSession(
connection, socket.Pass(), writer.Pass(), this, server_info.Pass(),
- quic_crypto_client_stream_factory_, host_port_pair.host(),
- config, crypto_config, net_log.net_log());
+ quic_crypto_client_stream_factory_, session_key, config, crypto_config,
+ net_log.net_log());
all_sessions_.insert(*session); // owning pointer
if (is_https) {
crypto_config->SetProofVerifier(
@@ -762,8 +762,7 @@ QuicCryptoClientConfig* QuicStreamFactory::GetOrCreateCryptoConfig(
void QuicStreamFactory::PopulateFromCanonicalConfig(
const QuicSessionKey& session_key,
QuicCryptoClientConfig* crypto_config) {
- const string server_hostname = session_key.host_port_pair().host();
- const uint16 server_port = session_key.host_port_pair().port();
+ const string server_hostname = session_key.host();
unsigned i = 0;
for (; i < canoncial_suffixes_.size(); ++i) {
if (EndsWith(server_hostname, canoncial_suffixes_[i], false)) {
@@ -773,7 +772,8 @@ void QuicStreamFactory::PopulateFromCanonicalConfig(
if (i == canoncial_suffixes_.size())
return;
- HostPortPair suffix_host_port_pair(canoncial_suffixes_[i], server_port);
+ HostPortPair suffix_host_port_pair(canoncial_suffixes_[i],
+ session_key.port());
QuicSessionKey suffix_session_key(suffix_host_port_pair,
session_key.is_https());
if (!ContainsKey(canonical_hostname_to_origin_map_, suffix_session_key)) {
@@ -788,13 +788,10 @@ void QuicStreamFactory::PopulateFromCanonicalConfig(
QuicCryptoClientConfig* canonical_crypto_config =
all_crypto_configs_[canonical_session_key];
DCHECK(canonical_crypto_config);
- const HostPortPair& canonical_host_port_pair =
- canonical_session_key.host_port_pair();
// Copy the CachedState for the canonical server from canonical_crypto_config
// as the initial CachedState for the server_hostname in crypto_config.
- crypto_config->InitializeFrom(server_hostname,
- canonical_host_port_pair.host(),
+ crypto_config->InitializeFrom(session_key, canonical_session_key,
canonical_crypto_config);
// Update canonical version to point at the "most recent" crypto_config.
canonical_hostname_to_origin_map_[suffix_session_key] =

Powered by Google App Engine
This is Rietveld 408576698