| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "net/quic/quic_stream_factory.h" | 5 #include "net/quic/quic_stream_factory.h" |
| 6 | 6 |
| 7 #include <set> | 7 #include <set> |
| 8 | 8 |
| 9 #include "base/logging.h" | 9 #include "base/logging.h" |
| 10 #include "base/message_loop/message_loop.h" | 10 #include "base/message_loop/message_loop.h" |
| (...skipping 248 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 259 size_t max_packet_length) | 259 size_t max_packet_length) |
| 260 : require_confirmation_(true), | 260 : require_confirmation_(true), |
| 261 host_resolver_(host_resolver), | 261 host_resolver_(host_resolver), |
| 262 client_socket_factory_(client_socket_factory), | 262 client_socket_factory_(client_socket_factory), |
| 263 http_server_properties_(http_server_properties), | 263 http_server_properties_(http_server_properties), |
| 264 quic_crypto_client_stream_factory_(quic_crypto_client_stream_factory), | 264 quic_crypto_client_stream_factory_(quic_crypto_client_stream_factory), |
| 265 random_generator_(random_generator), | 265 random_generator_(random_generator), |
| 266 clock_(clock), | 266 clock_(clock), |
| 267 max_packet_length_(max_packet_length), | 267 max_packet_length_(max_packet_length), |
| 268 weak_factory_(this), | 268 weak_factory_(this), |
| 269 port_entropy_(random_generator_->RandUint64()) { | 269 port_seed_(random_generator_->RandUint64()) { |
| 270 config_.SetDefaults(); | 270 config_.SetDefaults(); |
| 271 config_.set_idle_connection_state_lifetime( | 271 config_.set_idle_connection_state_lifetime( |
| 272 QuicTime::Delta::FromSeconds(30), | 272 QuicTime::Delta::FromSeconds(30), |
| 273 QuicTime::Delta::FromSeconds(30)); | 273 QuicTime::Delta::FromSeconds(30)); |
| 274 | 274 |
| 275 cannoncial_suffixes_.push_back(string(".c.youtube.com")); | 275 cannoncial_suffixes_.push_back(string(".c.youtube.com")); |
| 276 cannoncial_suffixes_.push_back(string(".googlevideo.com")); | 276 cannoncial_suffixes_.push_back(string(".googlevideo.com")); |
| 277 } | 277 } |
| 278 | 278 |
| 279 QuicStreamFactory::~QuicStreamFactory() { | 279 QuicStreamFactory::~QuicStreamFactory() { |
| (...skipping 173 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 453 int QuicStreamFactory::CreateSession( | 453 int QuicStreamFactory::CreateSession( |
| 454 const HostPortProxyPair& host_port_proxy_pair, | 454 const HostPortProxyPair& host_port_proxy_pair, |
| 455 bool is_https, | 455 bool is_https, |
| 456 CertVerifier* cert_verifier, | 456 CertVerifier* cert_verifier, |
| 457 const AddressList& address_list, | 457 const AddressList& address_list, |
| 458 const BoundNetLog& net_log, | 458 const BoundNetLog& net_log, |
| 459 QuicClientSession** session) { | 459 QuicClientSession** session) { |
| 460 QuicGuid guid = random_generator_->RandUint64(); | 460 QuicGuid guid = random_generator_->RandUint64(); |
| 461 IPEndPoint addr = *address_list.begin(); | 461 IPEndPoint addr = *address_list.begin(); |
| 462 scoped_refptr<PortSuggester> port_suggester = | 462 scoped_refptr<PortSuggester> port_suggester = |
| 463 new PortSuggester(host_port_proxy_pair.first, port_entropy_); | 463 new PortSuggester(host_port_proxy_pair.first, port_seed_); |
| 464 scoped_ptr<DatagramClientSocket> socket( | 464 scoped_ptr<DatagramClientSocket> socket( |
| 465 client_socket_factory_->CreateDatagramClientSocket( | 465 client_socket_factory_->CreateDatagramClientSocket( |
| 466 DatagramSocket::RANDOM_BIND, | 466 DatagramSocket::RANDOM_BIND, |
| 467 base::Bind(&PortSuggester::SuggestPort, port_suggester), | 467 base::Bind(&PortSuggester::SuggestPort, port_suggester), |
| 468 net_log.net_log(), net_log.source())); | 468 net_log.net_log(), net_log.source())); |
| 469 int rv = socket->Connect(addr); | 469 int rv = socket->Connect(addr); |
| 470 if (rv != OK) | 470 if (rv != OK) |
| 471 return rv; | 471 return rv; |
| 472 UMA_HISTOGRAM_COUNTS("Net.QuicEphemeralPortsSuggested", | 472 UMA_HISTOGRAM_COUNTS("Net.QuicEphemeralPortsSuggested", |
| 473 port_suggester->call_count()); | 473 port_suggester->call_count()); |
| (...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 578 // Copy the CachedState for the canonical server from canonical_crypto_config | 578 // Copy the CachedState for the canonical server from canonical_crypto_config |
| 579 // as the initial CachedState for the server_hostname in crypto_config. | 579 // as the initial CachedState for the server_hostname in crypto_config. |
| 580 crypto_config->InitializeFrom(server_hostname, | 580 crypto_config->InitializeFrom(server_hostname, |
| 581 canonical_host_port_proxy_pair.first.host(), | 581 canonical_host_port_proxy_pair.first.host(), |
| 582 canonical_crypto_config); | 582 canonical_crypto_config); |
| 583 // Update canonical version to point at the "most recent" crypto_config. | 583 // Update canonical version to point at the "most recent" crypto_config. |
| 584 canonical_hostname_to_origin_map_[canonical_host_port] = host_port_proxy_pair; | 584 canonical_hostname_to_origin_map_[canonical_host_port] = host_port_proxy_pair; |
| 585 } | 585 } |
| 586 | 586 |
| 587 } // namespace net | 587 } // namespace net |
| OLD | NEW |