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

Side by Side Diff: chrome/browser/io_thread.h

Issue 524463004: Adds plumbing for always requiring handshake confirmation in QUIC. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: More nits fixed, test added, and formatting. Created 6 years, 3 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 | « no previous file | chrome/browser/io_thread.cc » ('j') | chrome/browser/io_thread_unittest.cc » ('J')
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 #ifndef CHROME_BROWSER_IO_THREAD_H_ 5 #ifndef CHROME_BROWSER_IO_THREAD_H_
6 #define CHROME_BROWSER_IO_THREAD_H_ 6 #define CHROME_BROWSER_IO_THREAD_H_
7 7
8 #include <string> 8 #include <string>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 169 matching lines...) Expand 10 before | Expand all | Expand 10 after
180 Optional<bool> force_spdy_over_ssl; 180 Optional<bool> force_spdy_over_ssl;
181 Optional<bool> force_spdy_always; 181 Optional<bool> force_spdy_always;
182 std::set<net::HostPortPair> forced_spdy_exclusions; 182 std::set<net::HostPortPair> forced_spdy_exclusions;
183 Optional<bool> use_alternate_protocols; 183 Optional<bool> use_alternate_protocols;
184 Optional<double> alternate_protocol_probability_threshold; 184 Optional<double> alternate_protocol_probability_threshold;
185 Optional<bool> enable_websocket_over_spdy; 185 Optional<bool> enable_websocket_over_spdy;
186 186
187 Optional<bool> enable_quic; 187 Optional<bool> enable_quic;
188 Optional<bool> enable_quic_time_based_loss_detection; 188 Optional<bool> enable_quic_time_based_loss_detection;
189 Optional<bool> enable_quic_port_selection; 189 Optional<bool> enable_quic_port_selection;
190 Optional<bool> quic_always_require_handshake_confirmation;
190 Optional<size_t> quic_max_packet_length; 191 Optional<size_t> quic_max_packet_length;
191 net::QuicTagVector quic_connection_options; 192 net::QuicTagVector quic_connection_options;
192 Optional<std::string> quic_user_agent_id; 193 Optional<std::string> quic_user_agent_id;
193 Optional<net::QuicVersionVector> quic_supported_versions; 194 Optional<net::QuicVersionVector> quic_supported_versions;
194 Optional<net::HostPortPair> origin_to_force_quic_on; 195 Optional<net::HostPortPair> origin_to_force_quic_on;
195 bool enable_user_alternate_protocol_ports; 196 bool enable_user_alternate_protocol_ports;
196 // NetErrorTabHelper uses |dns_probe_service| to send DNS probes when a 197 // NetErrorTabHelper uses |dns_probe_service| to send DNS probes when a
197 // main frame load fails with a DNS error in order to provide more useful 198 // main frame load fails with a DNS error in order to provide more useful
198 // information to the renderer so it can show a more specific error page. 199 // information to the renderer so it can show a more specific error page.
199 scoped_ptr<chrome_browser_net::DnsProbeService> dns_probe_service; 200 scoped_ptr<chrome_browser_net::DnsProbeService> dns_probe_service;
(...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after
345 base::StringPiece quic_trial_group, 346 base::StringPiece quic_trial_group,
346 const VariationParameters& quic_trial_params); 347 const VariationParameters& quic_trial_params);
347 348
348 // Returns true if QUIC time-base loss detection should be negotiated during 349 // Returns true if QUIC time-base loss detection should be negotiated during
349 // the QUIC handshake. 350 // the QUIC handshake.
350 static bool ShouldEnableQuicTimeBasedLossDetection( 351 static bool ShouldEnableQuicTimeBasedLossDetection(
351 const base::CommandLine& command_line, 352 const base::CommandLine& command_line,
352 base::StringPiece quic_trial_group, 353 base::StringPiece quic_trial_group,
353 const VariationParameters& quic_trial_params); 354 const VariationParameters& quic_trial_params);
354 355
356 // Returns true if QUIC should always require handshake confirmation during
357 // the QUIC handshake.
358 static bool ShouldQuicAlwaysRequireHandshakeConfirmation(
359 const VariationParameters& quic_trial_params);
360
355 // Returns the maximum length for QUIC packets, based on any flags in 361 // Returns the maximum length for QUIC packets, based on any flags in
356 // |command_line| or the field trial. Returns 0 if there is an error 362 // |command_line| or the field trial. Returns 0 if there is an error
357 // parsing any of the options, or if the default value should be used. 363 // parsing any of the options, or if the default value should be used.
358 static size_t GetQuicMaxPacketLength( 364 static size_t GetQuicMaxPacketLength(
359 const base::CommandLine& command_line, 365 const base::CommandLine& command_line,
360 base::StringPiece quic_trial_group, 366 base::StringPiece quic_trial_group,
361 const VariationParameters& quic_trial_params); 367 const VariationParameters& quic_trial_params);
362 368
363 // Returns the QUIC versions specified by any flags in |command_line| 369 // Returns the QUIC versions specified by any flags in |command_line|
364 // or |quic_trial_params|. 370 // or |quic_trial_params|.
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
442 bool is_spdy_disabled_by_policy_; 448 bool is_spdy_disabled_by_policy_;
443 449
444 base::WeakPtrFactory<IOThread> weak_factory_; 450 base::WeakPtrFactory<IOThread> weak_factory_;
445 451
446 const base::TimeTicks creation_time_; 452 const base::TimeTicks creation_time_;
447 453
448 DISALLOW_COPY_AND_ASSIGN(IOThread); 454 DISALLOW_COPY_AND_ASSIGN(IOThread);
449 }; 455 };
450 456
451 #endif // CHROME_BROWSER_IO_THREAD_H_ 457 #endif // CHROME_BROWSER_IO_THREAD_H_
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/io_thread.cc » ('j') | chrome/browser/io_thread_unittest.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698