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

Side by Side Diff: net/quic/quic_stream_factory.cc

Issue 1841863002: Update monet. (Closed) Base URL: https://github.com/domokit/monet.git@master
Patch Set: Created 4 years, 8 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 unified diff | Download patch
« no previous file with comments | « net/quic/quic_session_test.cc ('k') | net/quic/quic_stream_factory_test.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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/cpu.h" 9 #include "base/cpu.h"
10 #include "base/message_loop/message_loop.h" 10 #include "base/message_loop/message_loop.h"
11 #include "base/message_loop/message_loop_proxy.h"
12 #include "base/metrics/field_trial.h" 11 #include "base/metrics/field_trial.h"
13 #include "base/metrics/histogram.h" 12 #include "base/metrics/histogram.h"
14 #include "base/metrics/sparse_histogram.h" 13 #include "base/metrics/sparse_histogram.h"
15 #include "base/rand_util.h" 14 #include "base/rand_util.h"
16 #include "base/stl_util.h" 15 #include "base/stl_util.h"
17 #include "base/strings/string_util.h" 16 #include "base/strings/string_util.h"
18 #include "base/values.h" 17 #include "base/values.h"
19 #include "net/base/net_errors.h" 18 #include "net/base/net_errors.h"
20 #include "net/cert/cert_verifier.h" 19 #include "net/cert/cert_verifier.h"
21 #include "net/dns/host_resolver.h" 20 #include "net/dns/host_resolver.h"
(...skipping 615 matching lines...) Expand 10 before | Expand all | Expand 10 after
637 636
638 if (HasActiveJob(server_id)) { 637 if (HasActiveJob(server_id)) {
639 active_requests_[request] = server_id; 638 active_requests_[request] = server_id;
640 job_requests_map_[server_id].insert(request); 639 job_requests_map_[server_id].insert(request);
641 return ERR_IO_PENDING; 640 return ERR_IO_PENDING;
642 } 641 }
643 642
644 // TODO(rtenneti): |task_runner_| is used by the Job. Initialize task_runner_ 643 // TODO(rtenneti): |task_runner_| is used by the Job. Initialize task_runner_
645 // in the constructor after WebRequestActionWithThreadsTest.* tests are fixed. 644 // in the constructor after WebRequestActionWithThreadsTest.* tests are fixed.
646 if (!task_runner_) 645 if (!task_runner_)
647 task_runner_ = base::MessageLoop::current()->message_loop_proxy().get(); 646 task_runner_ = base::MessageLoop::current()->task_runner().get();
648 647
649 QuicServerInfo* quic_server_info = nullptr; 648 QuicServerInfo* quic_server_info = nullptr;
650 if (quic_server_info_factory_) { 649 if (quic_server_info_factory_) {
651 bool load_from_disk_cache = !disable_disk_cache_; 650 bool load_from_disk_cache = !disable_disk_cache_;
652 if (http_server_properties_) { 651 if (http_server_properties_) {
653 const AlternativeServiceMap& alternative_service_map = 652 const AlternativeServiceMap& alternative_service_map =
654 http_server_properties_->alternative_service_map(); 653 http_server_properties_->alternative_service_map();
655 AlternativeServiceMap::const_iterator it = 654 AlternativeServiceMap::const_iterator it =
656 alternative_service_map.Peek(server_id.host_port_pair()); 655 alternative_service_map.Peek(server_id.host_port_pair());
657 if (it == alternative_service_map.end() || 656 if (it == alternative_service_map.end() ||
(...skipping 379 matching lines...) Expand 10 before | Expand all | Expand 10 after
1037 if (http_server_properties_->GetSupportsQuic(&last_address) && 1036 if (http_server_properties_->GetSupportsQuic(&last_address) &&
1038 last_address == local_address_.address()) { 1037 last_address == local_address_.address()) {
1039 require_confirmation_ = false; 1038 require_confirmation_ = false;
1040 } 1039 }
1041 } 1040 }
1042 1041
1043 DefaultPacketWriterFactory packet_writer_factory(socket.get()); 1042 DefaultPacketWriterFactory packet_writer_factory(socket.get());
1044 1043
1045 if (!helper_.get()) { 1044 if (!helper_.get()) {
1046 helper_.reset(new QuicConnectionHelper( 1045 helper_.reset(new QuicConnectionHelper(
1047 base::MessageLoop::current()->message_loop_proxy().get(), 1046 base::MessageLoop::current()->task_runner().get(), clock_.get(),
1048 clock_.get(), random_generator_)); 1047 random_generator_));
1049 } 1048 }
1050 1049
1051 QuicConnection* connection = new QuicConnection( 1050 QuicConnection* connection = new QuicConnection(
1052 connection_id, addr, helper_.get(), packet_writer_factory, 1051 connection_id, addr, helper_.get(), packet_writer_factory,
1053 true /* owns_writer */, Perspective::IS_CLIENT, server_id.is_https(), 1052 true /* owns_writer */, Perspective::IS_CLIENT, server_id.is_https(),
1054 supported_versions_); 1053 supported_versions_);
1055 connection->set_max_packet_length(max_packet_length_); 1054 connection->set_max_packet_length(max_packet_length_);
1056 1055
1057 InitializeCachedStateInCryptoConfig(server_id, server_info); 1056 InitializeCachedStateInCryptoConfig(server_id, server_info);
1058 1057
(...skipping 12 matching lines...) Expand all
1071 // information and/or inform the disk cache that we have reused 1070 // information and/or inform the disk cache that we have reused
1072 // |server_info|. 1071 // |server_info|.
1073 server_info.reset(quic_server_info_factory_->GetForServer(server_id)); 1072 server_info.reset(quic_server_info_factory_->GetForServer(server_id));
1074 server_info->Start(); 1073 server_info->Start();
1075 } 1074 }
1076 1075
1077 *session = new QuicClientSession( 1076 *session = new QuicClientSession(
1078 connection, socket.Pass(), this, transport_security_state_, 1077 connection, socket.Pass(), this, transport_security_state_,
1079 server_info.Pass(), config, network_connection_.GetDescription(), 1078 server_info.Pass(), config, network_connection_.GetDescription(),
1080 dns_resolution_end_time, 1079 dns_resolution_end_time,
1081 base::MessageLoop::current()->message_loop_proxy().get(), 1080 base::MessageLoop::current()->task_runner().get(), net_log.net_log());
1082 net_log.net_log());
1083 1081
1084 all_sessions_[*session] = server_id; // owning pointer 1082 all_sessions_[*session] = server_id; // owning pointer
1085 1083
1086 (*session)->InitializeSession(server_id, &crypto_config_, 1084 (*session)->InitializeSession(server_id, &crypto_config_,
1087 quic_crypto_client_stream_factory_); 1085 quic_crypto_client_stream_factory_);
1088 bool closed_during_initialize = 1086 bool closed_during_initialize =
1089 !ContainsKey(all_sessions_, *session) || 1087 !ContainsKey(all_sessions_, *session) ||
1090 !(*session)->connection()->connected(); 1088 !(*session)->connection()->connected();
1091 UMA_HISTOGRAM_BOOLEAN("Net.QuicSession.ClosedDuringInitializeSession", 1089 UMA_HISTOGRAM_BOOLEAN("Net.QuicSession.ClosedDuringInitializeSession",
1092 closed_during_initialize); 1090 closed_during_initialize);
(...skipping 130 matching lines...) Expand 10 before | Expand all | Expand 10 after
1223 // Since the session was active, there's no longer an 1221 // Since the session was active, there's no longer an
1224 // HttpStreamFactoryImpl::Job running which can mark it broken, unless the TCP 1222 // HttpStreamFactoryImpl::Job running which can mark it broken, unless the TCP
1225 // job also fails. So to avoid not using QUIC when we otherwise could, we mark 1223 // job also fails. So to avoid not using QUIC when we otherwise could, we mark
1226 // it as recently broken, which means that 0-RTT will be disabled but we'll 1224 // it as recently broken, which means that 0-RTT will be disabled but we'll
1227 // still race. 1225 // still race.
1228 http_server_properties_->MarkAlternativeServiceRecentlyBroken( 1226 http_server_properties_->MarkAlternativeServiceRecentlyBroken(
1229 alternative_service); 1227 alternative_service);
1230 } 1228 }
1231 1229
1232 } // namespace net 1230 } // namespace net
OLDNEW
« no previous file with comments | « net/quic/quic_session_test.cc ('k') | net/quic/quic_stream_factory_test.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698