Make the QuicParams more self-documenting
With the introduction of QuicParams, it's now possible to
default-construct a QuicParams. However, it's not
self-documenting what those defaults are. As many of them
are actually constants from the header themselves, align
the class to initialize in-place, making it more obvious.
This also updates the various time-delta based parameters
of QuicParams to use base::TimeDelta, making it easier to
ensure safe math, while freeing callers from needing to
know about whether the units were _seconds or
_milliseconds. Several members of the class already
followed this pattern, this just aligns all of them.
Bug: None
Change-Id: Id1661af6736740dd470d713843d37b2af9b7134a
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1707095
Reviewed-by: Ryan Hamilton <[email protected]>
Reviewed-by: Nick Harper <[email protected]>
Commit-Queue: Ryan Sleevi <[email protected]>
Cr-Commit-Position: refs/heads/master@{#678442}
diff --git a/components/cronet/url_request_context_config.cc b/components/cronet/url_request_context_config.cc
index be6390df..c27fa41 100644
--- a/components/cronet/url_request_context_config.cc
+++ b/components/cronet/url_request_context_config.cc
@@ -377,25 +377,26 @@
int quic_idle_connection_timeout_seconds = 0;
if (quic_args->GetInteger(kQuicIdleConnectionTimeoutSeconds,
&quic_idle_connection_timeout_seconds)) {
- session_params->quic_params.idle_connection_timeout_seconds =
- quic_idle_connection_timeout_seconds;
+ session_params->quic_params.idle_connection_timeout =
+ base::TimeDelta::FromSeconds(quic_idle_connection_timeout_seconds);
}
int quic_max_time_before_crypto_handshake_seconds = 0;
if (quic_args->GetInteger(
kQuicMaxTimeBeforeCryptoHandshakeSeconds,
&quic_max_time_before_crypto_handshake_seconds)) {
- session_params->quic_params.max_time_before_crypto_handshake_seconds =
- quic_max_time_before_crypto_handshake_seconds;
+ session_params->quic_params.max_time_before_crypto_handshake =
+ base::TimeDelta::FromSeconds(
+ quic_max_time_before_crypto_handshake_seconds);
}
int quic_max_idle_time_before_crypto_handshake_seconds = 0;
if (quic_args->GetInteger(
kQuicMaxIdleTimeBeforeCryptoHandshakeSeconds,
&quic_max_idle_time_before_crypto_handshake_seconds)) {
- session_params->quic_params
- .max_idle_time_before_crypto_handshake_seconds =
- quic_max_idle_time_before_crypto_handshake_seconds;
+ session_params->quic_params.max_idle_time_before_crypto_handshake =
+ base::TimeDelta::FromSeconds(
+ quic_max_idle_time_before_crypto_handshake_seconds);
}
bool quic_close_sessions_on_ip_change = false;
@@ -495,9 +496,9 @@
if (quic_args->GetInteger(
kQuicRetransmittableOnWireTimeoutMilliseconds,
&quic_retransmittable_on_wire_timeout_milliseconds)) {
- session_params->quic_params
- .retransmittable_on_wire_timeout_milliseconds =
- quic_retransmittable_on_wire_timeout_milliseconds;
+ session_params->quic_params.retransmittable_on_wire_timeout =
+ base::TimeDelta::FromMilliseconds(
+ quic_retransmittable_on_wire_timeout_milliseconds);
}
bool quic_retry_on_alternate_network_before_handshake = false;
diff --git a/components/cronet/url_request_context_config_unittest.cc b/components/cronet/url_request_context_config_unittest.cc
index 3478267..718b2f3 100644
--- a/components/cronet/url_request_context_config_unittest.cc
+++ b/components/cronet/url_request_context_config_unittest.cc
@@ -197,8 +197,8 @@
// Check max_server_configs_stored_in_properties.
EXPECT_EQ(2u, params->quic_params.max_server_configs_stored_in_properties);
- // Check idle_connection_timeout_seconds.
- EXPECT_EQ(300, params->quic_params.idle_connection_timeout_seconds);
+ // Check idle_connection_timeout.
+ EXPECT_EQ(300, params->quic_params.idle_connection_timeout.InSeconds());
EXPECT_TRUE(params->quic_params.close_sessions_on_ip_change);
EXPECT_FALSE(params->quic_params.goaway_sessions_on_ip_change);
@@ -691,8 +691,9 @@
EXPECT_TRUE(params->quic_params.migrate_sessions_on_network_change_v2);
EXPECT_TRUE(params->quic_params.migrate_sessions_early_v2);
EXPECT_TRUE(params->quic_params.retry_on_alternate_network_before_handshake);
- EXPECT_EQ(1000,
- params->quic_params.retransmittable_on_wire_timeout_milliseconds);
+ EXPECT_EQ(
+ 1000,
+ params->quic_params.retransmittable_on_wire_timeout.InMilliseconds());
EXPECT_TRUE(params->quic_params.migrate_idle_sessions);
EXPECT_EQ(base::TimeDelta::FromSeconds(15),
params->quic_params.idle_session_migration_period);
@@ -857,9 +858,11 @@
const net::HttpNetworkSession::Params* params =
context->GetNetworkSessionParams();
- EXPECT_EQ(7, params->quic_params.max_time_before_crypto_handshake_seconds);
- EXPECT_EQ(11,
- params->quic_params.max_idle_time_before_crypto_handshake_seconds);
+ EXPECT_EQ(7,
+ params->quic_params.max_time_before_crypto_handshake.InSeconds());
+ EXPECT_EQ(
+ 11,
+ params->quic_params.max_idle_time_before_crypto_handshake.InSeconds());
}
TEST(URLURLRequestContextConfigTest, SetQuicConnectionOptions) {
diff --git a/components/network_session_configurator/browser/network_session_configurator.cc b/components/network_session_configurator/browser/network_session_configurator.cc
index 409c0685..7979448 100644
--- a/components/network_session_configurator/browser/network_session_configurator.cc
+++ b/components/network_session_configurator/browser/network_session_configurator.cc
@@ -477,27 +477,29 @@
int idle_connection_timeout_seconds =
GetQuicIdleConnectionTimeoutSeconds(quic_trial_params);
if (idle_connection_timeout_seconds != 0) {
- params->quic_params.idle_connection_timeout_seconds =
- idle_connection_timeout_seconds;
+ params->quic_params.idle_connection_timeout =
+ base::TimeDelta::FromSeconds(idle_connection_timeout_seconds);
}
int reduced_ping_timeout_seconds =
GetQuicReducedPingTimeoutSeconds(quic_trial_params);
if (reduced_ping_timeout_seconds > 0 &&
reduced_ping_timeout_seconds < quic::kPingTimeoutSecs) {
- params->quic_params.reduced_ping_timeout_seconds =
- reduced_ping_timeout_seconds;
+ params->quic_params.reduced_ping_timeout =
+ base::TimeDelta::FromSeconds(reduced_ping_timeout_seconds);
}
int max_time_before_crypto_handshake_seconds =
GetQuicMaxTimeBeforeCryptoHandshakeSeconds(quic_trial_params);
if (max_time_before_crypto_handshake_seconds > 0) {
- params->quic_params.max_time_before_crypto_handshake_seconds =
- max_time_before_crypto_handshake_seconds;
+ params->quic_params.max_time_before_crypto_handshake =
+ base::TimeDelta::FromSeconds(
+ max_time_before_crypto_handshake_seconds);
}
int max_idle_time_before_crypto_handshake_seconds =
GetQuicMaxIdleTimeBeforeCryptoHandshakeSeconds(quic_trial_params);
if (max_idle_time_before_crypto_handshake_seconds > 0) {
- params->quic_params.max_idle_time_before_crypto_handshake_seconds =
- max_idle_time_before_crypto_handshake_seconds;
+ params->quic_params.max_idle_time_before_crypto_handshake =
+ base::TimeDelta::FromSeconds(
+ max_idle_time_before_crypto_handshake_seconds);
}
params->quic_params.race_cert_verification =
ShouldQuicRaceCertVerification(quic_trial_params);
@@ -516,14 +518,16 @@
int initial_rtt_for_handshake_milliseconds =
GetQuicInitialRttForHandshakeMilliseconds(quic_trial_params);
if (initial_rtt_for_handshake_milliseconds > 0) {
- params->quic_params.initial_rtt_for_handshake_milliseconds =
- initial_rtt_for_handshake_milliseconds;
+ params->quic_params.initial_rtt_for_handshake =
+ base::TimeDelta::FromMilliseconds(
+ initial_rtt_for_handshake_milliseconds);
}
int retransmittable_on_wire_timeout_milliseconds =
GetQuicRetransmittableOnWireTimeoutMilliseconds(quic_trial_params);
if (retransmittable_on_wire_timeout_milliseconds > 0) {
- params->quic_params.retransmittable_on_wire_timeout_milliseconds =
- retransmittable_on_wire_timeout_milliseconds;
+ params->quic_params.retransmittable_on_wire_timeout =
+ base::TimeDelta::FromMilliseconds(
+ retransmittable_on_wire_timeout_milliseconds);
}
params->quic_params.migrate_idle_sessions =
ShouldQuicMigrateIdleSessions(quic_trial_params);
diff --git a/components/network_session_configurator/browser/network_session_configurator_unittest.cc b/components/network_session_configurator/browser/network_session_configurator_unittest.cc
index d1f13354..4db23a0 100644
--- a/components/network_session_configurator/browser/network_session_configurator_unittest.cc
+++ b/components/network_session_configurator/browser/network_session_configurator_unittest.cc
@@ -112,14 +112,14 @@
EXPECT_FALSE(params_.enable_server_push_cancellation);
EXPECT_FALSE(params_.quic_params.close_sessions_on_ip_change);
EXPECT_FALSE(params_.quic_params.goaway_sessions_on_ip_change);
- EXPECT_EQ(net::kIdleConnectionTimeoutSeconds,
- params_.quic_params.idle_connection_timeout_seconds);
- EXPECT_EQ(quic::kPingTimeoutSecs,
- params_.quic_params.reduced_ping_timeout_seconds);
- EXPECT_EQ(quic::kMaxTimeForCryptoHandshakeSecs,
- params_.quic_params.max_time_before_crypto_handshake_seconds);
- EXPECT_EQ(quic::kInitialIdleTimeoutSecs,
- params_.quic_params.max_idle_time_before_crypto_handshake_seconds);
+ EXPECT_EQ(net::kIdleConnectionTimeout,
+ params_.quic_params.idle_connection_timeout);
+ EXPECT_EQ(base::TimeDelta::FromSeconds(quic::kPingTimeoutSecs),
+ params_.quic_params.reduced_ping_timeout);
+ EXPECT_EQ(base::TimeDelta::FromSeconds(quic::kMaxTimeForCryptoHandshakeSecs),
+ params_.quic_params.max_time_before_crypto_handshake);
+ EXPECT_EQ(base::TimeDelta::FromSeconds(quic::kInitialIdleTimeoutSecs),
+ params_.quic_params.max_idle_time_before_crypto_handshake);
EXPECT_FALSE(params_.quic_params.race_cert_verification);
EXPECT_FALSE(params_.quic_params.estimate_initial_rtt);
EXPECT_FALSE(params_.quic_params.migrate_sessions_on_network_change_v2);
@@ -127,11 +127,10 @@
EXPECT_FALSE(params_.quic_params.retry_on_alternate_network_before_handshake);
EXPECT_FALSE(params_.quic_params.migrate_idle_sessions);
EXPECT_FALSE(params_.quic_params.go_away_on_path_degrading);
- EXPECT_EQ(0, params_.quic_params.initial_rtt_for_handshake_milliseconds);
+ EXPECT_TRUE(params_.quic_params.initial_rtt_for_handshake.is_zero());
EXPECT_FALSE(params_.quic_params.allow_server_migration);
EXPECT_TRUE(params_.quic_host_whitelist.empty());
- EXPECT_EQ(0,
- params_.quic_params.retransmittable_on_wire_timeout_milliseconds);
+ EXPECT_TRUE(params_.quic_params.retransmittable_on_wire_timeout.is_zero());
net::HttpNetworkSession::Params default_params;
EXPECT_EQ(default_params.quic_params.supported_versions,
@@ -237,8 +236,8 @@
ParseFieldTrials();
- EXPECT_EQ(1000,
- params_.quic_params.retransmittable_on_wire_timeout_milliseconds);
+ EXPECT_EQ(base::TimeDelta::FromMilliseconds(1000),
+ params_.quic_params.retransmittable_on_wire_timeout);
}
TEST_F(NetworkSessionConfiguratorTest,
@@ -250,7 +249,8 @@
ParseFieldTrials();
- EXPECT_EQ(300, params_.quic_params.idle_connection_timeout_seconds);
+ EXPECT_EQ(base::TimeDelta::FromSeconds(300),
+ params_.quic_params.idle_connection_timeout);
}
TEST_F(NetworkSessionConfiguratorTest,
@@ -260,8 +260,8 @@
variations::AssociateVariationParams("QUIC", "Enabled", field_trial_params);
base::FieldTrialList::CreateFieldTrial("QUIC", "Enabled");
ParseFieldTrials();
- EXPECT_EQ(quic::kPingTimeoutSecs,
- params_.quic_params.reduced_ping_timeout_seconds);
+ EXPECT_EQ(base::TimeDelta::FromSeconds(quic::kPingTimeoutSecs),
+ params_.quic_params.reduced_ping_timeout);
}
TEST_F(NetworkSessionConfiguratorTest,
@@ -271,8 +271,8 @@
variations::AssociateVariationParams("QUIC", "Enabled", field_trial_params);
base::FieldTrialList::CreateFieldTrial("QUIC", "Enabled");
ParseFieldTrials();
- EXPECT_EQ(quic::kPingTimeoutSecs,
- params_.quic_params.reduced_ping_timeout_seconds);
+ EXPECT_EQ(base::TimeDelta::FromSeconds(quic::kPingTimeoutSecs),
+ params_.quic_params.reduced_ping_timeout);
}
TEST_F(NetworkSessionConfiguratorTest,
@@ -282,7 +282,8 @@
variations::AssociateVariationParams("QUIC", "Enabled", field_trial_params);
base::FieldTrialList::CreateFieldTrial("QUIC", "Enabled");
ParseFieldTrials();
- EXPECT_EQ(10, params_.quic_params.reduced_ping_timeout_seconds);
+ EXPECT_EQ(base::TimeDelta::FromSeconds(10),
+ params_.quic_params.reduced_ping_timeout);
}
TEST_F(NetworkSessionConfiguratorTest,
@@ -292,7 +293,8 @@
variations::AssociateVariationParams("QUIC", "Enabled", field_trial_params);
base::FieldTrialList::CreateFieldTrial("QUIC", "Enabled");
ParseFieldTrials();
- EXPECT_EQ(7, params_.quic_params.max_time_before_crypto_handshake_seconds);
+ EXPECT_EQ(base::TimeDelta::FromSeconds(7),
+ params_.quic_params.max_time_before_crypto_handshake);
}
TEST_F(NetworkSessionConfiguratorTest,
@@ -302,8 +304,8 @@
variations::AssociateVariationParams("QUIC", "Enabled", field_trial_params);
base::FieldTrialList::CreateFieldTrial("QUIC", "Enabled");
ParseFieldTrials();
- EXPECT_EQ(quic::kMaxTimeForCryptoHandshakeSecs,
- params_.quic_params.max_time_before_crypto_handshake_seconds);
+ EXPECT_EQ(base::TimeDelta::FromSeconds(quic::kMaxTimeForCryptoHandshakeSecs),
+ params_.quic_params.max_time_before_crypto_handshake);
}
TEST_F(NetworkSessionConfiguratorTest,
@@ -313,8 +315,8 @@
variations::AssociateVariationParams("QUIC", "Enabled", field_trial_params);
base::FieldTrialList::CreateFieldTrial("QUIC", "Enabled");
ParseFieldTrials();
- EXPECT_EQ(11,
- params_.quic_params.max_idle_time_before_crypto_handshake_seconds);
+ EXPECT_EQ(base::TimeDelta::FromSeconds(11),
+ params_.quic_params.max_idle_time_before_crypto_handshake);
}
TEST_F(NetworkSessionConfiguratorTest,
@@ -324,8 +326,8 @@
variations::AssociateVariationParams("QUIC", "Enabled", field_trial_params);
base::FieldTrialList::CreateFieldTrial("QUIC", "Enabled");
ParseFieldTrials();
- EXPECT_EQ(quic::kInitialIdleTimeoutSecs,
- params_.quic_params.max_idle_time_before_crypto_handshake_seconds);
+ EXPECT_EQ(base::TimeDelta::FromSeconds(quic::kInitialIdleTimeoutSecs),
+ params_.quic_params.max_idle_time_before_crypto_handshake);
}
TEST_F(NetworkSessionConfiguratorTest, QuicRaceCertVerification) {
@@ -861,7 +863,8 @@
ParseFieldTrials();
- EXPECT_EQ(500, params_.quic_params.initial_rtt_for_handshake_milliseconds);
+ EXPECT_EQ(base::TimeDelta::FromMilliseconds(500),
+ params_.quic_params.initial_rtt_for_handshake);
}
} // namespace network_session_configurator
diff --git a/net/http/http_network_session.cc b/net/http/http_network_session.cc
index 88c1f52..e207a97 100644
--- a/net/http/http_network_session.cc
+++ b/net/http/http_network_session.cc
@@ -279,9 +279,9 @@
dict->SetInteger("max_server_configs_stored_in_properties",
params_.quic_params.max_server_configs_stored_in_properties);
dict->SetInteger("idle_connection_timeout_seconds",
- params_.quic_params.idle_connection_timeout_seconds);
+ params_.quic_params.idle_connection_timeout.InSeconds());
dict->SetInteger("reduced_ping_timeout_seconds",
- params_.quic_params.reduced_ping_timeout_seconds);
+ params_.quic_params.reduced_ping_timeout.InSeconds());
dict->SetBoolean(
"mark_quic_broken_when_network_blackholes",
params_.quic_params.mark_quic_broken_when_network_blackholes);
@@ -301,7 +301,7 @@
params_.quic_params.migrate_sessions_early_v2);
dict->SetInteger(
"retransmittable_on_wire_timeout_milliseconds",
- params_.quic_params.retransmittable_on_wire_timeout_milliseconds);
+ params_.quic_params.retransmittable_on_wire_timeout.InMilliseconds());
dict->SetBoolean(
"retry_on_alternate_network_before_handshake",
params_.quic_params.retry_on_alternate_network_before_handshake);
@@ -330,8 +330,9 @@
params_.quic_params.estimate_initial_rtt);
dict->SetBoolean("server_push_cancellation",
params_.enable_server_push_cancellation);
- dict->SetInteger("initial_rtt_for_handshake_milliseconds",
- params_.quic_params.initial_rtt_for_handshake_milliseconds);
+ dict->SetInteger(
+ "initial_rtt_for_handshake_milliseconds",
+ params_.quic_params.initial_rtt_for_handshake.InMilliseconds());
return std::move(dict);
}
diff --git a/net/quic/bidirectional_stream_quic_impl_unittest.cc b/net/quic/bidirectional_stream_quic_impl_unittest.cc
index 6143499..6a9e13d 100644
--- a/net/quic/bidirectional_stream_quic_impl_unittest.cc
+++ b/net/quic/bidirectional_stream_quic_impl_unittest.cc
@@ -522,10 +522,9 @@
/*migrate_session_on_network_change_v2=*/false,
/*default_network=*/NetworkChangeNotifier::kInvalidNetworkHandle,
quic::QuicTime::Delta::FromMilliseconds(
- kDefaultRetransmittableOnWireTimeoutMillisecs),
- /*migrate_idle_session=*/false,
- base::TimeDelta::FromSeconds(kDefaultIdleSessionMigrationPeriodSeconds),
- base::TimeDelta::FromSeconds(kMaxTimeOnNonDefaultNetworkSecs),
+ kDefaultRetransmittableOnWireTimeout.InMilliseconds()),
+ /*migrate_idle_session=*/false, kDefaultIdleSessionMigrationPeriod,
+ kMaxTimeOnNonDefaultNetwork,
kMaxMigrationsToNonDefaultNetworkOnWriteError,
kMaxMigrationsToNonDefaultNetworkOnPathDegrading,
kQuicYieldAfterPacketsRead,
diff --git a/net/quic/quic_chromium_client_session_test.cc b/net/quic/quic_chromium_client_session_test.cc
index f87bc19..3d0ac35 100644
--- a/net/quic/quic_chromium_client_session_test.cc
+++ b/net/quic/quic_chromium_client_session_test.cc
@@ -154,10 +154,9 @@
/*migrate_session_on_network_change_v2=*/false,
/*defaulet_network=*/NetworkChangeNotifier::kInvalidNetworkHandle,
quic::QuicTime::Delta::FromMilliseconds(
- kDefaultRetransmittableOnWireTimeoutMillisecs),
- /*migrate_idle_session=*/false,
- base::TimeDelta::FromSeconds(kDefaultIdleSessionMigrationPeriodSeconds),
- base::TimeDelta::FromSeconds(kMaxTimeOnNonDefaultNetworkSecs),
+ kDefaultRetransmittableOnWireTimeout.InMilliseconds()),
+ /*migrate_idle_session=*/false, kDefaultIdleSessionMigrationPeriod,
+ kMaxTimeOnNonDefaultNetwork,
kMaxMigrationsToNonDefaultNetworkOnWriteError,
kMaxMigrationsToNonDefaultNetworkOnPathDegrading,
kQuicYieldAfterPacketsRead,
diff --git a/net/quic/quic_http_stream_test.cc b/net/quic/quic_http_stream_test.cc
index 0c0ba6c..298cae2 100644
--- a/net/quic/quic_http_stream_test.cc
+++ b/net/quic/quic_http_stream_test.cc
@@ -330,10 +330,9 @@
/*migrate_session_on_network_change_v2=*/false,
/*default_network=*/NetworkChangeNotifier::kInvalidNetworkHandle,
quic::QuicTime::Delta::FromMilliseconds(
- kDefaultRetransmittableOnWireTimeoutMillisecs),
- /*migrate_idle_session=*/false,
- base::TimeDelta::FromSeconds(kDefaultIdleSessionMigrationPeriodSeconds),
- base::TimeDelta::FromSeconds(kMaxTimeOnNonDefaultNetworkSecs),
+ kDefaultRetransmittableOnWireTimeout.InMilliseconds()),
+ /*migrate_idle_session=*/false, kDefaultIdleSessionMigrationPeriod,
+ kMaxTimeOnNonDefaultNetwork,
kMaxMigrationsToNonDefaultNetworkOnWriteError,
kMaxMigrationsToNonDefaultNetworkOnPathDegrading,
kQuicYieldAfterPacketsRead,
diff --git a/net/quic/quic_network_transaction_unittest.cc b/net/quic/quic_network_transaction_unittest.cc
index 04e3b04..7c27d08 100644
--- a/net/quic/quic_network_transaction_unittest.cc
+++ b/net/quic/quic_network_transaction_unittest.cc
@@ -2554,7 +2554,8 @@
// return QUIC_PROTOCOL_ERROR.
TEST_P(QuicNetworkTransactionTest, TimeoutAfterHandshakeConfirmed) {
session_params_.quic_params.retry_without_alt_svc_on_quic_errors = false;
- session_params_.quic_params.idle_connection_timeout_seconds = 5;
+ session_params_.quic_params.idle_connection_timeout =
+ base::TimeDelta::FromSeconds(5);
// The request will initially go out over QUIC.
MockQuicData quic_data(version_);
@@ -3001,7 +3002,8 @@
// retried over TCP.
TEST_P(QuicNetworkTransactionTest, TimeoutAfterHandshakeConfirmedThenBroken) {
session_params_.quic_params.mark_quic_broken_when_network_blackholes = true;
- session_params_.quic_params.idle_connection_timeout_seconds = 5;
+ session_params_.quic_params.idle_connection_timeout =
+ base::TimeDelta::FromSeconds(5);
// The request will initially go out over QUIC.
MockQuicData quic_data(version_);
@@ -3139,7 +3141,8 @@
// connection times out, then QUIC will be marked as broken and the request
// retried over TCP.
TEST_P(QuicNetworkTransactionTest, TimeoutAfterHandshakeConfirmedThenBroken2) {
- session_params_.quic_params.idle_connection_timeout_seconds = 5;
+ session_params_.quic_params.idle_connection_timeout =
+ base::TimeDelta::FromSeconds(5);
// The request will initially go out over QUIC.
MockQuicData quic_data(version_);
@@ -3281,7 +3284,8 @@
TEST_P(QuicNetworkTransactionTest,
TimeoutAfterHandshakeConfirmedAndHeadersThenBrokenNotRetried) {
session_params_.quic_params.mark_quic_broken_when_network_blackholes = true;
- session_params_.quic_params.idle_connection_timeout_seconds = 5;
+ session_params_.quic_params.idle_connection_timeout =
+ base::TimeDelta::FromSeconds(5);
// The request will initially go out over QUIC.
MockQuicData quic_data(version_);
@@ -3721,7 +3725,8 @@
// retried over TCP and the QUIC will be marked as broken.
TEST_P(QuicNetworkTransactionTest,
ProtocolErrorAfterHandshakeConfirmedThenBroken) {
- session_params_.quic_params.idle_connection_timeout_seconds = 5;
+ session_params_.quic_params.idle_connection_timeout =
+ base::TimeDelta::FromSeconds(5);
// The request will initially go out over QUIC.
MockQuicData quic_data(version_);
diff --git a/net/quic/quic_proxy_client_socket_unittest.cc b/net/quic/quic_proxy_client_socket_unittest.cc
index c8d235fb..93bf9b3 100644
--- a/net/quic/quic_proxy_client_socket_unittest.cc
+++ b/net/quic/quic_proxy_client_socket_unittest.cc
@@ -224,10 +224,9 @@
/*migrate_session_on_network_change_v2=*/false,
/*default_network=*/NetworkChangeNotifier::kInvalidNetworkHandle,
quic::QuicTime::Delta::FromMilliseconds(
- kDefaultRetransmittableOnWireTimeoutMillisecs),
- /*migrate_idle_session=*/true,
- base::TimeDelta::FromSeconds(kDefaultIdleSessionMigrationPeriodSeconds),
- base::TimeDelta::FromSeconds(kMaxTimeOnNonDefaultNetworkSecs),
+ kDefaultRetransmittableOnWireTimeout.InMilliseconds()),
+ /*migrate_idle_session=*/true, kDefaultIdleSessionMigrationPeriod,
+ kMaxTimeOnNonDefaultNetwork,
kMaxMigrationsToNonDefaultNetworkOnWriteError,
kMaxMigrationsToNonDefaultNetworkOnPathDegrading,
kQuicYieldAfterPacketsRead,
diff --git a/net/quic/quic_stream_factory.cc b/net/quic/quic_stream_factory.cc
index 7be8413..633d3a30d 100644
--- a/net/quic/quic_stream_factory.cc
+++ b/net/quic/quic_stream_factory.cc
@@ -180,20 +180,21 @@
quic::QuicConfig InitializeQuicConfig(
const quic::QuicTagVector& connection_options,
const quic::QuicTagVector& client_connection_options,
- int idle_connection_timeout_seconds,
- int max_time_before_crypto_handshake_seconds,
- int max_idle_time_before_crypto_handshake_seconds) {
- DCHECK_GT(idle_connection_timeout_seconds, 0);
+ base::TimeDelta idle_connection_timeout,
+ base::TimeDelta max_time_before_crypto_handshake,
+ base::TimeDelta max_idle_time_before_crypto_handshake) {
+ DCHECK_GT(idle_connection_timeout, base::TimeDelta());
quic::QuicConfig config;
- config.SetIdleNetworkTimeout(
- quic::QuicTime::Delta::FromSeconds(idle_connection_timeout_seconds),
- quic::QuicTime::Delta::FromSeconds(idle_connection_timeout_seconds));
+ config.SetIdleNetworkTimeout(quic::QuicTime::Delta::FromMicroseconds(
+ idle_connection_timeout.InMicroseconds()),
+ quic::QuicTime::Delta::FromMicroseconds(
+ idle_connection_timeout.InMicroseconds()));
config.set_max_time_before_crypto_handshake(
- quic::QuicTime::Delta::FromSeconds(
- max_time_before_crypto_handshake_seconds));
+ quic::QuicTime::Delta::FromMicroseconds(
+ max_time_before_crypto_handshake.InMicroseconds()));
config.set_max_idle_time_before_crypto_handshake(
- quic::QuicTime::Delta::FromSeconds(
- max_idle_time_before_crypto_handshake_seconds));
+ quic::QuicTime::Delta::FromMicroseconds(
+ max_idle_time_before_crypto_handshake.InMicroseconds()));
config.SetConnectionOptionsToSend(connection_options);
config.SetClientConnectionOptions(client_connection_options);
return config;
@@ -227,41 +228,12 @@
QuicParams::QuicParams()
: max_packet_length(quic::kDefaultMaxPacketSize),
- max_server_configs_stored_in_properties(0u),
- enable_socket_recv_optimization(false),
- mark_quic_broken_when_network_blackholes(false),
- retry_without_alt_svc_on_quic_errors(true),
- support_ietf_format_quic_altsvc(false),
- close_sessions_on_ip_change(false),
- goaway_sessions_on_ip_change(false),
- idle_connection_timeout_seconds(kIdleConnectionTimeoutSeconds),
- reduced_ping_timeout_seconds(quic::kPingTimeoutSecs),
- retransmittable_on_wire_timeout_milliseconds(0),
- max_time_before_crypto_handshake_seconds(
- quic::kMaxTimeForCryptoHandshakeSecs),
- max_idle_time_before_crypto_handshake_seconds(
- quic::kInitialIdleTimeoutSecs),
- migrate_sessions_on_network_change_v2(false),
- migrate_sessions_early_v2(false),
- retry_on_alternate_network_before_handshake(false),
- migrate_idle_sessions(false),
- idle_session_migration_period(base::TimeDelta::FromSeconds(
- kDefaultIdleSessionMigrationPeriodSeconds)),
- max_time_on_non_default_network(
- base::TimeDelta::FromSeconds(kMaxTimeOnNonDefaultNetworkSecs)),
- max_migrations_to_non_default_network_on_write_error(
- kMaxMigrationsToNonDefaultNetworkOnWriteError),
- max_migrations_to_non_default_network_on_path_degrading(
- kMaxMigrationsToNonDefaultNetworkOnPathDegrading),
- allow_server_migration(false),
- allow_remote_alt_svc(true),
- race_stale_dns_on_connection(false),
- go_away_on_path_degrading(false),
- disable_bidirectional_streams(false),
- race_cert_verification(false),
- estimate_initial_rtt(false),
- headers_include_h2_stream_dependency(false),
- initial_rtt_for_handshake_milliseconds(0) {
+ reduced_ping_timeout(
+ base::TimeDelta::FromSeconds(quic::kPingTimeoutSecs)),
+ max_time_before_crypto_handshake(
+ base::TimeDelta::FromSeconds(quic::kMaxTimeForCryptoHandshakeSecs)),
+ max_idle_time_before_crypto_handshake(
+ base::TimeDelta::FromSeconds(quic::kInitialIdleTimeoutSecs)) {
supported_versions.push_back(quic::ParsedQuicVersion(
quic::PROTOCOL_QUIC_CRYPTO, quic::QUIC_VERSION_46));
}
@@ -1112,22 +1084,22 @@
params_(params),
clock_skew_detector_(base::TimeTicks::Now(), base::Time::Now()),
socket_performance_watcher_factory_(socket_performance_watcher_factory),
- config_(InitializeQuicConfig(
- params.connection_options,
- params.client_connection_options,
- params.idle_connection_timeout_seconds,
- params.max_time_before_crypto_handshake_seconds,
- params.max_idle_time_before_crypto_handshake_seconds)),
+ config_(
+ InitializeQuicConfig(params.connection_options,
+ params.client_connection_options,
+ params.idle_connection_timeout,
+ params.max_time_before_crypto_handshake,
+ params.max_idle_time_before_crypto_handshake)),
crypto_config_(
std::make_unique<ProofVerifierChromium>(cert_verifier,
ct_policy_enforcer,
transport_security_state,
cert_transparency_verifier)),
ping_timeout_(quic::QuicTime::Delta::FromSeconds(quic::kPingTimeoutSecs)),
- reduced_ping_timeout_(quic::QuicTime::Delta::FromSeconds(
- params.reduced_ping_timeout_seconds)),
- retransmittable_on_wire_timeout_(quic::QuicTime::Delta::FromMilliseconds(
- params.retransmittable_on_wire_timeout_milliseconds)),
+ reduced_ping_timeout_(quic::QuicTime::Delta::FromMicroseconds(
+ params.reduced_ping_timeout.InMicroseconds())),
+ retransmittable_on_wire_timeout_(quic::QuicTime::Delta::FromMicroseconds(
+ params.retransmittable_on_wire_timeout.InMicroseconds())),
yield_after_packets_(kQuicYieldAfterPacketsRead),
yield_after_duration_(quic::QuicTime::Delta::FromMilliseconds(
kQuicYieldAfterDurationMilliseconds)),
@@ -1162,10 +1134,10 @@
params.retry_on_alternate_network_before_handshake)
DCHECK(params.migrate_sessions_on_network_change_v2);
- if (params.retransmittable_on_wire_timeout_milliseconds == 0 &&
+ if (params.retransmittable_on_wire_timeout.is_zero() &&
params.migrate_sessions_early_v2) {
- retransmittable_on_wire_timeout_ = quic::QuicTime::Delta::FromMilliseconds(
- kDefaultRetransmittableOnWireTimeoutMillisecs);
+ retransmittable_on_wire_timeout_ = quic::QuicTime::Delta::FromMicroseconds(
+ kDefaultRetransmittableOnWireTimeout.InMicroseconds());
}
// goaway_sessions_on_ip_change and close_sessions_on_ip_change should never
@@ -1968,10 +1940,11 @@
return;
}
- if (params_.initial_rtt_for_handshake_milliseconds > 0) {
- SetInitialRttEstimate(base::TimeDelta::FromMilliseconds(
- params_.initial_rtt_for_handshake_milliseconds),
- INITIAL_RTT_DEFAULT, config);
+ if (params_.initial_rtt_for_handshake > base::TimeDelta()) {
+ SetInitialRttEstimate(
+ base::TimeDelta::FromMicroseconds(
+ params_.initial_rtt_for_handshake.InMicroseconds()),
+ INITIAL_RTT_DEFAULT, config);
return;
}
diff --git a/net/quic/quic_stream_factory.h b/net/quic/quic_stream_factory.h
index 55fca42..f725d49 100644
--- a/net/quic/quic_stream_factory.h
+++ b/net/quic/quic_stream_factory.h
@@ -79,20 +79,24 @@
} // namespace test
// When a connection is idle for 30 seconds it will be closed.
-const int kIdleConnectionTimeoutSeconds = 30;
+constexpr base::TimeDelta kIdleConnectionTimeout =
+ base::TimeDelta::FromSeconds(30);
// Sessions can migrate if they have been idle for less than this period.
-const int kDefaultIdleSessionMigrationPeriodSeconds = 30;
+constexpr base::TimeDelta kDefaultIdleSessionMigrationPeriod =
+ base::TimeDelta::FromSeconds(30);
// The default maximum time allowed to have no retransmittable packets on the
// wire (after sending the first retransmittable packet) if
// |migrate_session_early_v2_| is true. PING frames will be sent as needed to
// enforce this.
-const int64_t kDefaultRetransmittableOnWireTimeoutMillisecs = 100;
+constexpr base::TimeDelta kDefaultRetransmittableOnWireTimeout =
+ base::TimeDelta::FromMilliseconds(100);
// The default maximum time QUIC session could be on non-default network before
// migrate back to default network.
-const int64_t kMaxTimeOnNonDefaultNetworkSecs = 128;
+constexpr base::TimeDelta kMaxTimeOnNonDefaultNetwork =
+ base::TimeDelta::FromSeconds(128);
// The default maximum number of migrations to non default network on write
// error per network.
@@ -118,7 +122,7 @@
size_t max_packet_length;
// Maximum number of server configs that are to be stored in
// HttpServerProperties, instead of the disk cache.
- size_t max_server_configs_stored_in_properties;
+ size_t max_server_configs_stored_in_properties = 0u;
// QUIC will be used for all connections in this set.
std::set<HostPortPair> origins_to_force_quic_on;
// Set of QUIC tags to send in the handshake's connection options.
@@ -127,86 +131,89 @@
// affect the client.
quic::QuicTagVector client_connection_options;
// Enables experimental optimization for receiving data in UDPSocket.
- bool enable_socket_recv_optimization;
+ bool enable_socket_recv_optimization = false;
// Active QUIC experiments
// Marks a QUIC server broken when a connection blackholes after the
// handshake is confirmed.
- bool mark_quic_broken_when_network_blackholes;
+ bool mark_quic_broken_when_network_blackholes = false;
// Retry requests which fail with QUIC_PROTOCOL_ERROR, and mark QUIC
// broken if the retry succeeds.
- bool retry_without_alt_svc_on_quic_errors;
+ bool retry_without_alt_svc_on_quic_errors = true;
// If true, alt-svc headers advertising QUIC in IETF format will be
// supported.
- bool support_ietf_format_quic_altsvc;
+ bool support_ietf_format_quic_altsvc = false;
// If true, all QUIC sessions are closed when any local IP address changes.
- bool close_sessions_on_ip_change;
+ bool close_sessions_on_ip_change = false;
// If true, all QUIC sessions are marked as goaway when any local IP address
// changes.
- bool goaway_sessions_on_ip_change;
+ bool goaway_sessions_on_ip_change = false;
// Specifies QUIC idle connection state lifetime.
- int idle_connection_timeout_seconds;
+ base::TimeDelta idle_connection_timeout = kIdleConnectionTimeout;
// Specifies the reduced ping timeout subsequent connections should use when
// a connection was timed out with open streams.
- int reduced_ping_timeout_seconds;
+ base::TimeDelta reduced_ping_timeout;
// Maximum time that a session can have no retransmittable packets on the
// wire. Set to zero if not specified and no retransmittable PING will be
// sent to peer when the wire has no retransmittable packets.
- int retransmittable_on_wire_timeout_milliseconds;
+ base::TimeDelta retransmittable_on_wire_timeout;
// Maximum time the session can be alive before crypto handshake is
// finished.
- int max_time_before_crypto_handshake_seconds;
+ base::TimeDelta max_time_before_crypto_handshake;
// Maximum idle time before the crypto handshake has completed.
- int max_idle_time_before_crypto_handshake_seconds;
+ base::TimeDelta max_idle_time_before_crypto_handshake;
// If true, connection migration v2 will be used to migrate existing
// sessions to network when the platform indicates that the default network
// is changing.
- bool migrate_sessions_on_network_change_v2;
+ bool migrate_sessions_on_network_change_v2 = false;
// If true, connection migration v2 may be used to migrate active QUIC
// sessions to alternative network if current network connectivity is poor.
- bool migrate_sessions_early_v2;
+ bool migrate_sessions_early_v2 = false;
// If true, a new connection may be kicked off on an alternate network when
// a connection fails on the default network before handshake is confirmed.
- bool retry_on_alternate_network_before_handshake;
+ bool retry_on_alternate_network_before_handshake = false;
// If true, an idle session will be migrated within the idle migration
// period.
- bool migrate_idle_sessions;
+ bool migrate_idle_sessions = false;
// A session can be migrated if its idle time is within this period.
- base::TimeDelta idle_session_migration_period;
+ base::TimeDelta idle_session_migration_period =
+ kDefaultIdleSessionMigrationPeriod;
// Maximum time the session could be on the non-default network before
// migrates back to default network. Defaults to
// kMaxTimeOnNonDefaultNetwork.
- base::TimeDelta max_time_on_non_default_network;
+ base::TimeDelta max_time_on_non_default_network = kMaxTimeOnNonDefaultNetwork;
// Maximum number of migrations to the non-default network on write error
// per network for each session.
- int max_migrations_to_non_default_network_on_write_error;
+ int max_migrations_to_non_default_network_on_write_error =
+ kMaxMigrationsToNonDefaultNetworkOnWriteError;
// Maximum number of migrations to the non-default network on path
// degrading per network for each session.
- int max_migrations_to_non_default_network_on_path_degrading;
+ int max_migrations_to_non_default_network_on_path_degrading =
+ kMaxMigrationsToNonDefaultNetworkOnPathDegrading;
// If true, allows migration of QUIC connections to a server-specified
// alternate server address.
- bool allow_server_migration;
+ bool allow_server_migration = false;
// If true, allows QUIC to use alternative services with a different
// hostname from the origin.
- bool allow_remote_alt_svc;
+ bool allow_remote_alt_svc = true;
// If true, the quic stream factory may race connection from stale dns
// result with the original dns resolution
- bool race_stale_dns_on_connection;
+ bool race_stale_dns_on_connection = false;
// If true, the quic session may mark itself as GOAWAY on path degrading.
- bool go_away_on_path_degrading;
+ bool go_away_on_path_degrading = false;
// If true, bidirectional streams over QUIC will be disabled.
- bool disable_bidirectional_streams;
+ bool disable_bidirectional_streams = false;
// If true, race cert verification with host resolution.
- bool race_cert_verification;
+ bool race_cert_verification = false;
// If true, estimate the initial RTT for QUIC connections based on network.
- bool estimate_initial_rtt;
+ bool estimate_initial_rtt = false;
// If true, client headers will include HTTP/2 stream dependency info
// derived from the request priority.
- bool headers_include_h2_stream_dependency;
+ bool headers_include_h2_stream_dependency = false;
// The initial rtt that will be used in crypto handshake if no cached
// smoothed rtt is present.
- int initial_rtt_for_handshake_milliseconds;
+ base::TimeDelta initial_rtt_for_handshake;
};
enum QuicPlatformNotification {
diff --git a/net/quic/quic_stream_factory_test.cc b/net/quic/quic_stream_factory_test.cc
index 388e824..870cd39 100644
--- a/net/quic/quic_stream_factory_test.cc
+++ b/net/quic/quic_stream_factory_test.cc
@@ -559,7 +559,8 @@
// Verifies that the QUIC stream factory is initialized correctly.
void VerifyInitialization() {
test_params_.quic_params.max_server_configs_stored_in_properties = 1;
- test_params_.quic_params.idle_connection_timeout_seconds = 500;
+ test_params_.quic_params.idle_connection_timeout =
+ base::TimeDelta::FromSeconds(500);
Initialize();
factory_->set_require_confirmation(false);
ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails();
@@ -7260,17 +7261,18 @@
base::RunLoop().RunUntilIdle();
// Ack delay time.
- int delay = task_runner->NextPendingTaskDelay().InMilliseconds();
- EXPECT_GT(kDefaultRetransmittableOnWireTimeoutMillisecs, delay);
+ base::TimeDelta delay = task_runner->NextPendingTaskDelay();
+ EXPECT_GT(kDefaultRetransmittableOnWireTimeout, delay);
// Fire the ack alarm, since ack has been sent, no ack will be sent.
- clock_.AdvanceTime(quic::QuicTime::Delta::FromMilliseconds(delay));
+ clock_.AdvanceTime(
+ quic::QuicTime::Delta::FromMilliseconds(delay.InMilliseconds()));
task_runner->FastForwardBy(task_runner->NextPendingTaskDelay());
// Fire the ping alarm with retransmittable-on-wire timeout, send PING.
- delay = kDefaultRetransmittableOnWireTimeoutMillisecs - delay;
- EXPECT_EQ(base::TimeDelta::FromMilliseconds(delay),
- task_runner->NextPendingTaskDelay());
- clock_.AdvanceTime(quic::QuicTime::Delta::FromMilliseconds(delay));
+ delay = kDefaultRetransmittableOnWireTimeout - delay;
+ EXPECT_EQ(delay, task_runner->NextPendingTaskDelay());
+ clock_.AdvanceTime(
+ quic::QuicTime::Delta::FromMilliseconds(delay.InMilliseconds()));
task_runner->FastForwardBy(task_runner->NextPendingTaskDelay());
socket_data1.Resume();
@@ -7298,8 +7300,9 @@
// enabled, and a custom retransmittable on wire timeout is specified, the
// custom value is used.
TEST_P(QuicStreamFactoryTest, CustomRetransmittableOnWireTimeoutForMigration) {
- int custom_timeout_value = 200;
- test_params_.quic_params.retransmittable_on_wire_timeout_milliseconds =
+ constexpr base::TimeDelta custom_timeout_value =
+ base::TimeDelta::FromMilliseconds(200);
+ test_params_.quic_params.retransmittable_on_wire_timeout =
custom_timeout_value;
InitializeConnectionMigrationV2Test(
{kDefaultNetworkForTests, kNewNetworkForTests});
@@ -7405,17 +7408,18 @@
base::RunLoop().RunUntilIdle();
// Ack delay time.
- int delay = task_runner->NextPendingTaskDelay().InMilliseconds();
+ base::TimeDelta delay = task_runner->NextPendingTaskDelay();
EXPECT_GT(custom_timeout_value, delay);
// Fire the ack alarm, since ack has been sent, no ack will be sent.
- clock_.AdvanceTime(quic::QuicTime::Delta::FromMilliseconds(delay));
+ clock_.AdvanceTime(
+ quic::QuicTime::Delta::FromMilliseconds(delay.InMilliseconds()));
task_runner->FastForwardBy(task_runner->NextPendingTaskDelay());
// Fire the ping alarm with retransmittable-on-wire timeout, send PING.
delay = custom_timeout_value - delay;
- EXPECT_EQ(base::TimeDelta::FromMilliseconds(delay),
- task_runner->NextPendingTaskDelay());
- clock_.AdvanceTime(quic::QuicTime::Delta::FromMilliseconds(delay));
+ EXPECT_EQ(delay, task_runner->NextPendingTaskDelay());
+ clock_.AdvanceTime(
+ quic::QuicTime::Delta::FromMilliseconds(delay.InMilliseconds()));
task_runner->FastForwardBy(task_runner->NextPendingTaskDelay());
socket_data1.Resume();
@@ -7443,8 +7447,9 @@
// retransmittable-on-wire timeout is specified, the ping alarm is set up to
// send retransmittable pings with the custom value.
TEST_P(QuicStreamFactoryTest, CustomRetransmittableOnWireTimeout) {
- int custom_timeout_value = 200;
- test_params_.quic_params.retransmittable_on_wire_timeout_milliseconds =
+ constexpr base::TimeDelta custom_timeout_value =
+ base::TimeDelta::FromMilliseconds(200);
+ test_params_.quic_params.retransmittable_on_wire_timeout =
custom_timeout_value;
Initialize();
ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails();
@@ -7534,17 +7539,18 @@
base::RunLoop().RunUntilIdle();
// Ack delay time.
- int delay = task_runner->NextPendingTaskDelay().InMilliseconds();
+ base::TimeDelta delay = task_runner->NextPendingTaskDelay();
EXPECT_GT(custom_timeout_value, delay);
// Fire the ack alarm, since ack has been sent, no ack will be sent.
- clock_.AdvanceTime(quic::QuicTime::Delta::FromMilliseconds(delay));
+ clock_.AdvanceTime(
+ quic::QuicTime::Delta::FromMilliseconds(delay.InMilliseconds()));
task_runner->FastForwardBy(task_runner->NextPendingTaskDelay());
// Fire the ping alarm with retransmittable-on-wire timeout, send PING.
delay = custom_timeout_value - delay;
- EXPECT_EQ(base::TimeDelta::FromMilliseconds(delay),
- task_runner->NextPendingTaskDelay());
- clock_.AdvanceTime(quic::QuicTime::Delta::FromMilliseconds(delay));
+ EXPECT_EQ(delay, task_runner->NextPendingTaskDelay());
+ clock_.AdvanceTime(
+ quic::QuicTime::Delta::FromMilliseconds(delay.InMilliseconds()));
task_runner->FastForwardBy(task_runner->NextPendingTaskDelay());
socket_data1.Resume();
@@ -7654,17 +7660,19 @@
base::RunLoop().RunUntilIdle();
// Ack delay time.
- int delay = task_runner->NextPendingTaskDelay().InMilliseconds();
- EXPECT_GT(kDefaultRetransmittableOnWireTimeoutMillisecs, delay);
+ base::TimeDelta delay = task_runner->NextPendingTaskDelay();
+ EXPECT_GT(kDefaultRetransmittableOnWireTimeout, delay);
// Fire the ack alarm, since ack has been sent, no ack will be sent.
- clock_.AdvanceTime(quic::QuicTime::Delta::FromMilliseconds(delay));
+ clock_.AdvanceTime(
+ quic::QuicTime::Delta::FromMilliseconds(delay.InMilliseconds()));
task_runner->FastForwardBy(task_runner->NextPendingTaskDelay());
// Verify that the ping alarm is not set with any default value.
- int wrong_delay = kDefaultRetransmittableOnWireTimeoutMillisecs - delay;
- delay = task_runner->NextPendingTaskDelay().InMilliseconds();
+ base::TimeDelta wrong_delay = kDefaultRetransmittableOnWireTimeout - delay;
+ delay = task_runner->NextPendingTaskDelay();
EXPECT_NE(wrong_delay, delay);
- clock_.AdvanceTime(quic::QuicTime::Delta::FromMilliseconds(delay));
+ clock_.AdvanceTime(
+ quic::QuicTime::Delta::FromMilliseconds(delay.InMilliseconds()));
task_runner->FastForwardBy(task_runner->NextPendingTaskDelay());
// Verify that response headers on the migrated socket were delivered to the
@@ -7688,8 +7696,9 @@
// send retransmittable pings to the peer with custom value.
TEST_P(QuicStreamFactoryTest,
CustomeRetransmittableOnWireTimeoutWithMigrationOnNetworkChangeOnly) {
- int custom_timeout_value = 200;
- test_params_.quic_params.retransmittable_on_wire_timeout_milliseconds =
+ constexpr base::TimeDelta custom_timeout_value =
+ base::TimeDelta::FromMilliseconds(200);
+ test_params_.quic_params.retransmittable_on_wire_timeout =
custom_timeout_value;
test_params_.quic_params.migrate_sessions_on_network_change_v2 = true;
Initialize();
@@ -7780,17 +7789,18 @@
base::RunLoop().RunUntilIdle();
// Ack delay time.
- int delay = task_runner->NextPendingTaskDelay().InMilliseconds();
+ base::TimeDelta delay = task_runner->NextPendingTaskDelay();
EXPECT_GT(custom_timeout_value, delay);
// Fire the ack alarm, since ack has been sent, no ack will be sent.
- clock_.AdvanceTime(quic::QuicTime::Delta::FromMilliseconds(delay));
+ clock_.AdvanceTime(
+ quic::QuicTime::Delta::FromMilliseconds(delay.InMilliseconds()));
task_runner->FastForwardBy(task_runner->NextPendingTaskDelay());
// Fire the ping alarm with retransmittable-on-wire timeout, send PING.
delay = custom_timeout_value - delay;
- EXPECT_EQ(base::TimeDelta::FromMilliseconds(delay),
- task_runner->NextPendingTaskDelay());
- clock_.AdvanceTime(quic::QuicTime::Delta::FromMilliseconds(delay));
+ EXPECT_EQ(delay, task_runner->NextPendingTaskDelay());
+ clock_.AdvanceTime(
+ quic::QuicTime::Delta::FromMilliseconds(delay.InMilliseconds()));
task_runner->FastForwardBy(task_runner->NextPendingTaskDelay());
socket_data1.Resume();
@@ -7902,17 +7912,19 @@
base::RunLoop().RunUntilIdle();
// Ack delay time.
- int delay = task_runner->NextPendingTaskDelay().InMilliseconds();
- EXPECT_GT(kDefaultRetransmittableOnWireTimeoutMillisecs, delay);
+ base::TimeDelta delay = task_runner->NextPendingTaskDelay();
+ EXPECT_GT(kDefaultRetransmittableOnWireTimeout, delay);
// Fire the ack alarm, since ack has been sent, no ack will be sent.
- clock_.AdvanceTime(quic::QuicTime::Delta::FromMilliseconds(delay));
+ clock_.AdvanceTime(
+ quic::QuicTime::Delta::FromMilliseconds(delay.InMilliseconds()));
task_runner->FastForwardBy(task_runner->NextPendingTaskDelay());
// Verify ping alarm is not set with default value.
- int wrong_delay = kDefaultRetransmittableOnWireTimeoutMillisecs - delay;
- delay = task_runner->NextPendingTaskDelay().InMilliseconds();
+ base::TimeDelta wrong_delay = kDefaultRetransmittableOnWireTimeout - delay;
+ delay = task_runner->NextPendingTaskDelay();
EXPECT_NE(wrong_delay, delay);
- clock_.AdvanceTime(quic::QuicTime::Delta::FromMilliseconds(delay));
+ clock_.AdvanceTime(
+ quic::QuicTime::Delta::FromMilliseconds(delay.InMilliseconds()));
task_runner->FastForwardBy(task_runner->NextPendingTaskDelay());
// Verify that response headers on the migrated socket were delivered to the
@@ -8843,7 +8855,8 @@
}
TEST_P(QuicStreamFactoryTest, ReducePingTimeoutOnConnectionTimeOutOpenStreams) {
- test_params_.quic_params.reduced_ping_timeout_seconds = 10;
+ test_params_.quic_params.reduced_ping_timeout =
+ base::TimeDelta::FromSeconds(10);
Initialize();
ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails();
crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details);
@@ -9747,12 +9760,14 @@
EXPECT_EQ(DEFAULT_PRIORITY, host_resolver_->request_priority(2));
}
-// Passes |quic_max_time_before_crypto_handshake_seconds| and
-// |quic_max_idle_time_before_crypto_handshake_seconds| to QuicStreamFactory,
+// Passes |quic_max_time_before_crypto_handshake| and
+// |quic_max_idle_time_before_crypto_handshake| to QuicStreamFactory,
// checks that its internal quic::QuicConfig is correct.
TEST_P(QuicStreamFactoryTest, ConfigMaxTimeBeforeCryptoHandshake) {
- test_params_.quic_params.max_time_before_crypto_handshake_seconds = 11;
- test_params_.quic_params.max_idle_time_before_crypto_handshake_seconds = 13;
+ test_params_.quic_params.max_time_before_crypto_handshake =
+ base::TimeDelta::FromSeconds(11);
+ test_params_.quic_params.max_idle_time_before_crypto_handshake =
+ base::TimeDelta::FromSeconds(13);
Initialize();
const quic::QuicConfig* config =
@@ -11070,8 +11085,9 @@
}
TEST_P(QuicStreamFactoryTest, ConfigInitialRttForHandshake) {
- int kInitialRtt = 400;
- test_params_.quic_params.initial_rtt_for_handshake_milliseconds = kInitialRtt;
+ constexpr base::TimeDelta kInitialRtt =
+ base::TimeDelta::FromMilliseconds(400);
+ test_params_.quic_params.initial_rtt_for_handshake = kInitialRtt;
crypto_client_stream_factory_.set_handshake_mode(
MockCryptoClientStream::COLD_START_WITH_CHLO_SENT);
Initialize();
@@ -11110,19 +11126,17 @@
// The pending task is scheduled for handshake timeout retransmission,
// which is 2 * 400ms with crypto frames and 1.5 * 400ms otherwise.
- int handshake_timeout =
+ base::TimeDelta handshake_timeout =
QuicVersionUsesCryptoFrames(version_.transport_version)
? 2 * kInitialRtt
: 1.5 * kInitialRtt;
- EXPECT_EQ(base::TimeDelta::FromMilliseconds(handshake_timeout),
- task_runner->NextPendingTaskDelay());
+ EXPECT_EQ(handshake_timeout, task_runner->NextPendingTaskDelay());
// The alarm factory dependes on |clock_|, so clock is advanced to trigger
// retransmission alarm.
- clock_.AdvanceTime(
- quic::QuicTime::Delta::FromMilliseconds(handshake_timeout));
- task_runner->FastForwardBy(
- base::TimeDelta::FromMilliseconds(handshake_timeout));
+ clock_.AdvanceTime(quic::QuicTime::Delta::FromMilliseconds(
+ handshake_timeout.InMilliseconds()));
+ task_runner->FastForwardBy(handshake_timeout);
crypto_client_stream_factory_.last_stream()->SendOnCryptoHandshakeEvent(
quic::QuicSession::HANDSHAKE_CONFIRMED);