Add expiration to AlternativeServiceInfo.
In order to properly implement the max-age parameter of alternative services,
* add expiration to AlternativeServiceInfo;
* lazy delete expired alternative services in GetAlternativeServices;
* save/load expiration time in HttpServerPropertiesManager.
BUG=392576
Review URL: https://codereview.chromium.org/1227063002
Cr-Commit-Position: refs/heads/master@{#340683}
diff --git a/net/quic/quic_network_transaction_unittest.cc b/net/quic/quic_network_transaction_unittest.cc
index c8532a3..3bcf8f8a 100644
--- a/net/quic/quic_network_transaction_unittest.cc
+++ b/net/quic/quic_network_transaction_unittest.cc
@@ -327,8 +327,9 @@
crypto_client_stream_factory_.set_handshake_mode(handshake_mode);
HostPortPair host_port_pair = HostPortPair::FromURL(request_.url);
AlternativeService alternative_service(QUIC, host_port_pair.host(), 80);
- http_server_properties_.SetAlternativeService(host_port_pair,
- alternative_service, 1.0);
+ base::Time expiration = base::Time::Now() + base::TimeDelta::FromDays(1);
+ http_server_properties_.SetAlternativeService(
+ host_port_pair, alternative_service, 1.0, expiration);
}
void ExpectBrokenAlternateProtocolMapping() {
@@ -893,8 +894,9 @@
CreateSessionWithNextProtos();
AlternativeService alternative_service(QUIC, alternative);
+ base::Time expiration = base::Time::Now() + base::TimeDelta::FromDays(1);
session_->http_server_properties()->SetAlternativeService(
- origin, alternative_service, 1.0);
+ origin, alternative_service, 1.0, expiration);
scoped_ptr<HttpNetworkTransaction> trans(
new HttpNetworkTransaction(DEFAULT_PRIORITY, session_.get()));
TestCompletionCallback callback;