Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(880)

Side by Side Diff: net/quic/quic_crypto_client_stream.cc

Issue 839143002: Roll Chrome into Mojo. (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Rebase Created 5 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « net/quic/quic_crypto_client_stream.h ('k') | net/quic/quic_crypto_client_stream_test.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "net/quic/quic_crypto_client_stream.h" 5 #include "net/quic/quic_crypto_client_stream.h"
6 6
7 #include "base/metrics/histogram.h" 7 #include "base/metrics/histogram.h"
8 #include "base/profiler/scoped_tracker.h"
8 #include "net/quic/crypto/crypto_protocol.h" 9 #include "net/quic/crypto/crypto_protocol.h"
9 #include "net/quic/crypto/crypto_utils.h" 10 #include "net/quic/crypto/crypto_utils.h"
10 #include "net/quic/crypto/null_encrypter.h" 11 #include "net/quic/crypto/null_encrypter.h"
11 #include "net/quic/quic_client_session_base.h" 12 #include "net/quic/quic_client_session_base.h"
12 #include "net/quic/quic_protocol.h" 13 #include "net/quic/quic_protocol.h"
13 #include "net/quic/quic_session.h" 14 #include "net/quic/quic_session.h"
14 15
15 using std::string; 16 using std::string;
16 17
17 namespace net { 18 namespace net {
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after
115 116
116 // Do not process handshake messages after the handshake is confirmed. 117 // Do not process handshake messages after the handshake is confirmed.
117 if (handshake_confirmed()) { 118 if (handshake_confirmed()) {
118 CloseConnection(QUIC_CRYPTO_MESSAGE_AFTER_HANDSHAKE_COMPLETE); 119 CloseConnection(QUIC_CRYPTO_MESSAGE_AFTER_HANDSHAKE_COMPLETE);
119 return; 120 return;
120 } 121 }
121 122
122 DoHandshakeLoop(&message); 123 DoHandshakeLoop(&message);
123 } 124 }
124 125
125 bool QuicCryptoClientStream::CryptoConnect() { 126 void QuicCryptoClientStream::CryptoConnect() {
126 next_state_ = STATE_INITIALIZE; 127 next_state_ = STATE_INITIALIZE;
127 DoHandshakeLoop(nullptr); 128 DoHandshakeLoop(nullptr);
128 return true;
129 } 129 }
130 130
131 int QuicCryptoClientStream::num_sent_client_hellos() const { 131 int QuicCryptoClientStream::num_sent_client_hellos() const {
132 return num_client_hellos_; 132 return num_client_hellos_;
133 } 133 }
134 134
135 bool QuicCryptoClientStream::WasChannelIDSent() const { 135 bool QuicCryptoClientStream::WasChannelIDSent() const {
136 return channel_id_sent_; 136 return channel_id_sent_;
137 } 137 }
138 138
(...skipping 30 matching lines...) Expand all
169 169
170 // kMaxClientHellos is the maximum number of times that we'll send a client 170 // kMaxClientHellos is the maximum number of times that we'll send a client
171 // hello. The value 3 accounts for: 171 // hello. The value 3 accounts for:
172 // * One failure due to an incorrect or missing source-address token. 172 // * One failure due to an incorrect or missing source-address token.
173 // * One failure due the server's certificate chain being unavailible and the 173 // * One failure due the server's certificate chain being unavailible and the
174 // server being unwilling to send it without a valid source-address token. 174 // server being unwilling to send it without a valid source-address token.
175 static const int kMaxClientHellos = 3; 175 static const int kMaxClientHellos = 3;
176 176
177 void QuicCryptoClientStream::DoHandshakeLoop( 177 void QuicCryptoClientStream::DoHandshakeLoop(
178 const CryptoHandshakeMessage* in) { 178 const CryptoHandshakeMessage* in) {
179 // TODO(vadimt): Remove ScopedTracker below once crbug.com/422516 is fixed.
180 tracked_objects::ScopedTracker tracking_profile(
181 FROM_HERE_WITH_EXPLICIT_FUNCTION(
182 "422516 QuicCryptoClientStream::DoHandshakeLoop"));
183
179 QuicCryptoClientConfig::CachedState* cached = 184 QuicCryptoClientConfig::CachedState* cached =
180 crypto_config_->LookupOrCreate(server_id_); 185 crypto_config_->LookupOrCreate(server_id_);
181 186
182 QuicAsyncStatus rv = QUIC_SUCCESS; 187 QuicAsyncStatus rv = QUIC_SUCCESS;
183 do { 188 do {
184 CHECK_NE(STATE_NONE, next_state_); 189 CHECK_NE(STATE_NONE, next_state_);
185 const State state = next_state_; 190 const State state = next_state_;
186 next_state_ = STATE_IDLE; 191 next_state_ = STATE_IDLE;
187 rv = QUIC_SUCCESS; 192 rv = QUIC_SUCCESS;
188 switch (state) { 193 switch (state) {
(...skipping 406 matching lines...) Expand 10 before | Expand all | Expand 10 after
595 } 600 }
596 } 601 }
597 return false; 602 return false;
598 } 603 }
599 604
600 QuicClientSessionBase* QuicCryptoClientStream::client_session() { 605 QuicClientSessionBase* QuicCryptoClientStream::client_session() {
601 return reinterpret_cast<QuicClientSessionBase*>(session()); 606 return reinterpret_cast<QuicClientSessionBase*>(session());
602 } 607 }
603 608
604 } // namespace net 609 } // namespace net
OLDNEW
« no previous file with comments | « net/quic/quic_crypto_client_stream.h ('k') | net/quic/quic_crypto_client_stream_test.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698