Chromium Code Reviews| Index: chrome/browser/chrome_browser_field_trials.cc |
| =================================================================== |
| --- chrome/browser/chrome_browser_field_trials.cc (revision 161340) |
| +++ chrome/browser/chrome_browser_field_trials.cc (working copy) |
| @@ -28,6 +28,9 @@ |
| #include "net/http/http_stream_factory.h" |
| #include "net/socket/client_socket_pool_base.h" |
| #include "net/socket/client_socket_pool_manager.h" |
| +#if defined(OS_WIN) |
| +#include "net/socket/tcp_client_socket_win.h" |
| +#endif // defined(OS_WIN) |
|
Ryan Sleevi
2012/10/12 18:53:13
style nit: Platform defines like go after the 'sta
pmeenan
2012/10/17 15:12:31
Done.
|
| #include "net/spdy/spdy_session.h" |
| #include "net/spdy/spdy_session_pool.h" |
| #include "ui/base/layout.h" |
| @@ -129,6 +132,7 @@ |
| SetUpSafeBrowsingInterstitialFieldTrial(); |
| SetUpInfiniteCacheFieldTrial(); |
| SetUpCacheSensitivityAnalysisFieldTrial(); |
| + WindowsOverlappedTCPReadsFieldTrial(); |
| #if defined(ENABLE_ONE_CLICK_SIGNIN) |
| OneClickSigninHelper::InitializeFieldTrial(); |
| #endif |
| @@ -587,3 +591,29 @@ |
| trial->AppendGroup("400A", sensitivity_analysis_probability); |
| trial->AppendGroup("400B", sensitivity_analysis_probability); |
| } |
| + |
| +void ChromeBrowserFieldTrials::WindowsOverlappedTCPReadsFieldTrial() { |
|
Ryan Sleevi
2012/10/12 18:53:13
style: Please review this function for whitespace
pmeenan
2012/10/17 15:12:31
Done.
|
| +#if defined(OS_WIN) |
| + if (parsed_command_line_.HasSwitch(switches::kOverlappedRead)) { |
| + std::string option = parsed_command_line_.GetSwitchValueASCII( |
| + switches::kOverlappedRead); |
| + if (LowerCaseEqualsASCII(option, "off")) { |
| + net::TCPClientSocketWin::DisableOverlappedReads(); |
| + } |
|
Ryan Sleevi
2012/10/12 18:53:13
style nit: the bracing style in this file is to om
pmeenan
2012/10/17 15:12:31
Done.
|
| + } else { |
| + const base::FieldTrial::Probability kDivisor = 2; // 1 in 2 chance |
| + const base::FieldTrial::Probability kOverlappedReadProbability = 1; |
| + scoped_refptr<base::FieldTrial> nbread_trial( |
| + base::FieldTrialList::FactoryGetFieldTrial("OverlappedReadImpact", |
| + kDivisor, "OverlappedReadEnabled", 2015, 1, 1, NULL)); |
|
Ryan Sleevi
2012/10/12 18:53:13
That's a really long trial. Are you sure that's th
pmeenan
2012/10/17 15:12:31
Done.
|
| + int overlapped_reads_disabled_group = |
| + nbread_trial->AppendGroup("OverlappedReadDisabled", |
| + kOverlappedReadProbability); |
| + int assigned_group = nbread_trial->group(); |
| + if (assigned_group == overlapped_reads_disabled_group) { |
| + net::TCPClientSocketWin::DisableOverlappedReads(); |
| + } |
| + } |
| +#endif |
| +} |
| + |