| Index: net/quic/core/quic_crypto_server_stream.cc
|
| diff --git a/net/quic/core/quic_crypto_server_stream.cc b/net/quic/core/quic_crypto_server_stream.cc
|
| index 6f434184f4e58f90f5f038134728962ad13b9353..801011b087ac7fac9f85ac38655f08bd05ad5863 100644
|
| --- a/net/quic/core/quic_crypto_server_stream.cc
|
| +++ b/net/quic/core/quic_crypto_server_stream.cc
|
| @@ -124,9 +124,9 @@ void QuicCryptoServerStream::OnHandshakeMessage(
|
| }
|
|
|
| void QuicCryptoServerStream::FinishProcessingHandshakeMessage(
|
| - const ValidateClientHelloResultCallback::Result& result,
|
| + scoped_refptr<ValidateClientHelloResultCallback::Result> result,
|
| std::unique_ptr<ProofSource::Details> details) {
|
| - const CryptoHandshakeMessage& message = result.client_hello;
|
| + const CryptoHandshakeMessage& message = result->client_hello;
|
|
|
| // Clear the callback that got us here.
|
| DCHECK(validate_client_hello_cb_ != nullptr);
|
| @@ -380,26 +380,26 @@ bool QuicCryptoServerStream::GetBase64SHA256ClientChannelID(
|
| }
|
|
|
| QuicErrorCode QuicCryptoServerStream::ProcessClientHello(
|
| - const ValidateClientHelloResultCallback::Result& result,
|
| + scoped_refptr<ValidateClientHelloResultCallback::Result> result,
|
| std::unique_ptr<ProofSource::Details> proof_source_details,
|
| CryptoHandshakeMessage* reply,
|
| DiversificationNonce* out_diversification_nonce,
|
| string* error_details) {
|
| - const CryptoHandshakeMessage& message = result.client_hello;
|
| + const CryptoHandshakeMessage& message = result->client_hello;
|
| if (!helper_->CanAcceptClientHello(
|
| message, session()->connection()->self_address(), error_details)) {
|
| return QUIC_HANDSHAKE_FAILED;
|
| }
|
|
|
| - if (!result.info.server_nonce.empty()) {
|
| + if (!result->info.server_nonce.empty()) {
|
| ++num_handshake_messages_with_server_nonces_;
|
| }
|
| // Store the bandwidth estimate from the client.
|
| - if (result.cached_network_params.bandwidth_estimate_bytes_per_second() > 0) {
|
| + if (result->cached_network_params.bandwidth_estimate_bytes_per_second() > 0) {
|
| previous_cached_network_params_.reset(
|
| - new CachedNetworkParameters(result.cached_network_params));
|
| + new CachedNetworkParameters(result->cached_network_params));
|
| }
|
| - previous_source_address_tokens_ = result.info.source_address_tokens;
|
| + previous_source_address_tokens_ = result->info.source_address_tokens;
|
|
|
| const bool use_stateless_rejects_in_crypto_config =
|
| use_stateless_rejects_if_peer_supported_ &&
|
| @@ -429,10 +429,11 @@ void QuicCryptoServerStream::ValidateCallback::Cancel() {
|
| }
|
|
|
| void QuicCryptoServerStream::ValidateCallback::Run(
|
| - std::unique_ptr<Result> result,
|
| + scoped_refptr<Result> result,
|
| std::unique_ptr<ProofSource::Details> details) {
|
| if (parent_ != nullptr) {
|
| - parent_->FinishProcessingHandshakeMessage(*result, std::move(details));
|
| + parent_->FinishProcessingHandshakeMessage(std::move(result),
|
| + std::move(details));
|
| }
|
| }
|
|
|
|
|