| Index: net/quic/crypto/quic_crypto_server_config.cc
|
| diff --git a/net/quic/crypto/quic_crypto_server_config.cc b/net/quic/crypto/quic_crypto_server_config.cc
|
| index 85de457d37eafa8a9dc31aa70b1f37fc510c1874..e2b0583e052d2d586cfe23dea23b8839ed628605 100644
|
| --- a/net/quic/crypto/quic_crypto_server_config.cc
|
| +++ b/net/quic/crypto/quic_crypto_server_config.cc
|
| @@ -147,6 +147,11 @@ class VerifyNonceIsValidAndUniqueCallback
|
| // static
|
| const char QuicCryptoServerConfig::TESTING[] = "secret string for testing";
|
|
|
| +PrimaryConfigChangedCallback::PrimaryConfigChangedCallback() {
|
| +}
|
| +
|
| +PrimaryConfigChangedCallback::~PrimaryConfigChangedCallback() {
|
| +}
|
|
|
| ValidateClientHelloResultCallback::ValidateClientHelloResultCallback() {
|
| }
|
| @@ -792,6 +797,9 @@ void QuicCryptoServerConfig::SelectNewPrimaryConfig(
|
| << base::HexEncode(
|
| reinterpret_cast<const char*>(primary_config_->orbit),
|
| kOrbitSize);
|
| + if (primary_config_changed_cb_.get() != NULL) {
|
| + primary_config_changed_cb_->Run(primary_config_->id);
|
| + }
|
|
|
| return;
|
| }
|
| @@ -809,6 +817,9 @@ void QuicCryptoServerConfig::SelectNewPrimaryConfig(
|
| reinterpret_cast<const char*>(primary_config_->orbit),
|
| kOrbitSize);
|
| next_config_promotion_time_ = QuicWallTime::Zero();
|
| + if (primary_config_changed_cb_.get() != NULL) {
|
| + primary_config_changed_cb_->Run(primary_config_->id);
|
| + }
|
| }
|
|
|
| void QuicCryptoServerConfig::EvaluateClientHello(
|
| @@ -1192,6 +1203,12 @@ void QuicCryptoServerConfig::set_server_nonce_strike_register_window_secs(
|
| server_nonce_strike_register_window_secs_ = window_secs;
|
| }
|
|
|
| +void QuicCryptoServerConfig::AcquirePrimaryConfigChangedCb(
|
| + PrimaryConfigChangedCallback* cb) {
|
| + base::AutoLock locked(configs_lock_);
|
| + primary_config_changed_cb_.reset(cb);
|
| +}
|
| +
|
| string QuicCryptoServerConfig::NewSourceAddressToken(
|
| const IPEndPoint& ip,
|
| QuicRandom* rand,
|
|
|