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

Side by Side Diff: components/domain_reliability/quic_error_mapping.cc

Issue 2808273006: Landing Recent QUIC changes until Sun Apr 9 16:12:55 (Closed)
Patch Set: increment enabled_options in e2e test Created 3 years, 8 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
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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 "components/domain_reliability/quic_error_mapping.h" 5 #include "components/domain_reliability/quic_error_mapping.h"
6 6
7 namespace domain_reliability { 7 namespace domain_reliability {
8 8
9 namespace { 9 namespace {
10 10
(...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after
119 // The connection has too many outstanding received packets. 119 // The connection has too many outstanding received packets.
120 {net::QUIC_TOO_MANY_OUTSTANDING_RECEIVED_PACKETS, 120 {net::QUIC_TOO_MANY_OUTSTANDING_RECEIVED_PACKETS,
121 "quic.too_many_outstanding_received_packets"}, 121 "quic.too_many_outstanding_received_packets"},
122 // The quic connection job to load server config is cancelled. 122 // The quic connection job to load server config is cancelled.
123 {net::QUIC_CONNECTION_CANCELLED, "quic.connection.cancelled"}, 123 {net::QUIC_CONNECTION_CANCELLED, "quic.connection.cancelled"},
124 // Disabled QUIC because of high packet loss rate. 124 // Disabled QUIC because of high packet loss rate.
125 {net::QUIC_BAD_PACKET_LOSS_RATE, "quic.bad_packet_loss_rate"}, 125 {net::QUIC_BAD_PACKET_LOSS_RATE, "quic.bad_packet_loss_rate"},
126 // Disabled QUIC because of too many PUBLIC_RESETs post handshake. 126 // Disabled QUIC because of too many PUBLIC_RESETs post handshake.
127 {net::QUIC_PUBLIC_RESETS_POST_HANDSHAKE, 127 {net::QUIC_PUBLIC_RESETS_POST_HANDSHAKE,
128 "quic.public_resets_post_handshake"}, 128 "quic.public_resets_post_handshake"},
129 // Disabled QUIC because of too many timeouts with streams open.
130 {net::QUIC_TIMEOUTS_WITH_OPEN_STREAMS, "quic.timeouts_with_open_streams"},
131 // Closed because we failed to serialize a packet. 129 // Closed because we failed to serialize a packet.
132 {net::QUIC_FAILED_TO_SERIALIZE_PACKET, "quic.failed_to_serialize_packet"}, 130 {net::QUIC_FAILED_TO_SERIALIZE_PACKET, "quic.failed_to_serialize_packet"},
133 // QUIC timed out after too many RTOs. 131 // QUIC timed out after too many RTOs.
134 {net::QUIC_TOO_MANY_RTOS, "quic.too_many_rtos"}, 132 {net::QUIC_TOO_MANY_RTOS, "quic.too_many_rtos"},
135 // Crypto errors. 133 // Crypto errors.
136 134
137 // Hanshake failed. 135 // Hanshake failed.
138 {net::QUIC_HANDSHAKE_FAILED, "quic.handshake_failed"}, 136 {net::QUIC_HANDSHAKE_FAILED, "quic.handshake_failed"},
139 // Handshake message contained out of order tags. 137 // Handshake message contained out of order tags.
140 {net::QUIC_CRYPTO_TAGS_OUT_OF_ORDER, "quic.crypto.tags_out_of_order"}, 138 {net::QUIC_CRYPTO_TAGS_OUT_OF_ORDER, "quic.crypto.tags_out_of_order"},
(...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after
246 // Connection closed because of server hits max number of sessions allowed. 244 // Connection closed because of server hits max number of sessions allowed.
247 {net::QUIC_TOO_MANY_SESSIONS_ON_SERVER, "quic.too_many_sessions_on_server"}, 245 {net::QUIC_TOO_MANY_SESSIONS_ON_SERVER, "quic.too_many_sessions_on_server"},
248 // There was an error decompressing data. 246 // There was an error decompressing data.
249 {net::QUIC_DECOMPRESSION_FAILURE, "quic.decompression_failure"}, 247 {net::QUIC_DECOMPRESSION_FAILURE, "quic.decompression_failure"},
250 248
251 // No error. Used as bound while iterating. 249 // No error. Used as bound while iterating.
252 {net::QUIC_LAST_ERROR, "quic.last_error"}}; 250 {net::QUIC_LAST_ERROR, "quic.last_error"}};
253 251
254 // Must be updated any time a net::QuicErrorCode is deprecated in 252 // Must be updated any time a net::QuicErrorCode is deprecated in
255 // net/quic/core/quic_packets.h. 253 // net/quic/core/quic_packets.h.
256 const int kDeprecatedQuicErrorCount = 4; 254 const int kDeprecatedQuicErrorCount = 5;
257 const int kActiveQuicErrorCount = 255 const int kActiveQuicErrorCount =
258 net::QUIC_LAST_ERROR - kDeprecatedQuicErrorCount; 256 net::QUIC_LAST_ERROR - kDeprecatedQuicErrorCount;
259 257
260 static_assert(arraysize(kQuicErrorMap) == kActiveQuicErrorCount, 258 static_assert(arraysize(kQuicErrorMap) == kActiveQuicErrorCount,
261 "quic_error_map is not in sync with quic protocol!"); 259 "quic_error_map is not in sync with quic protocol!");
262 260
263 } // namespace 261 } // namespace
264 262
265 // static 263 // static
266 bool GetDomainReliabilityBeaconQuicError(net::QuicErrorCode quic_error, 264 bool GetDomainReliabilityBeaconQuicError(net::QuicErrorCode quic_error,
267 std::string* beacon_quic_error_out) { 265 std::string* beacon_quic_error_out) {
268 if (quic_error != net::QUIC_NO_ERROR) { 266 if (quic_error != net::QUIC_NO_ERROR) {
269 // Convert a QUIC error. 267 // Convert a QUIC error.
270 // TODO(juliatuttle): Consider sorting and using binary search? 268 // TODO(juliatuttle): Consider sorting and using binary search?
271 for (size_t i = 0; i < arraysize(kQuicErrorMap); i++) { 269 for (size_t i = 0; i < arraysize(kQuicErrorMap); i++) {
272 if (kQuicErrorMap[i].quic_error == quic_error) { 270 if (kQuicErrorMap[i].quic_error == quic_error) {
273 *beacon_quic_error_out = kQuicErrorMap[i].beacon_quic_error; 271 *beacon_quic_error_out = kQuicErrorMap[i].beacon_quic_error;
274 return true; 272 return true;
275 } 273 }
276 } 274 }
277 } 275 }
278 beacon_quic_error_out->clear(); 276 beacon_quic_error_out->clear();
279 return false; 277 return false;
280 } 278 }
281 279
282 } // namespace domain_reliability 280 } // namespace domain_reliability
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698