| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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 #ifndef NET_BASE_NET_ERROR_DETAILS_H_ | 5 #ifndef NET_BASE_NET_ERROR_DETAILS_H_ |
| 6 #define NET_BASE_NET_ERROR_DETAILS_H_ | 6 #define NET_BASE_NET_ERROR_DETAILS_H_ |
| 7 | 7 |
| 8 #include "net/http/http_response_info.h" | 8 #include "net/http/http_response_info.h" |
| 9 #include "net/quic/quic_protocol.h" | 9 #include "net/quic/quic_protocol.h" |
| 10 | 10 |
| 11 namespace net { | 11 namespace net { |
| 12 | 12 |
| 13 // A record of net errors with granular error specification generated by | 13 // A record of net errors with granular error specification generated by |
| 14 // net stack. | 14 // net stack. |
| 15 struct NET_EXPORT NetErrorDetails { | 15 struct NET_EXPORT NetErrorDetails { |
| 16 NetErrorDetails() | 16 NetErrorDetails() |
| 17 : quic_broken(false), | 17 : quic_broken(false), |
| 18 quic_connection_error(QUIC_NO_ERROR), | 18 quic_connection_error(QUIC_NO_ERROR), |
| 19 connection_info(HttpResponseInfo::CONNECTION_INFO_UNKNOWN) {} | 19 connection_info(HttpResponseInfo::CONNECTION_INFO_UNKNOWN), |
| 20 quic_port_migration_detected(false) {} |
| 20 | 21 |
| 21 NetErrorDetails(bool quic_broken, QuicErrorCode quic_connection_error) | 22 NetErrorDetails(bool quic_broken, QuicErrorCode quic_connection_error) |
| 22 : quic_broken(quic_broken), | 23 : quic_broken(quic_broken), |
| 23 quic_connection_error(quic_connection_error), | 24 quic_connection_error(quic_connection_error), |
| 24 connection_info(HttpResponseInfo::CONNECTION_INFO_UNKNOWN) {} | 25 connection_info(HttpResponseInfo::CONNECTION_INFO_UNKNOWN), |
| 26 quic_port_migration_detected(false) {} |
| 25 | 27 |
| 26 // True if all QUIC alternative services are marked broken for the origin. | 28 // True if all QUIC alternative services are marked broken for the origin. |
| 27 bool quic_broken; | 29 bool quic_broken; |
| 28 // QUIC granular error info. | 30 // QUIC granular error info. |
| 29 QuicErrorCode quic_connection_error; | 31 QuicErrorCode quic_connection_error; |
| 30 // Early prediction of the connection type that this request attempts to use. | 32 // Early prediction of the connection type that this request attempts to use. |
| 31 // Will be discarded by upper layers if the connection type can be fetched | 33 // Will be discarded by upper layers if the connection type can be fetched |
| 32 // from response header from the server. | 34 // from response header from the server. |
| 33 HttpResponseInfo::ConnectionInfo connection_info; | 35 HttpResponseInfo::ConnectionInfo connection_info; |
| 36 // True if receives a GoAway frame from the server due to connection |
| 37 // migration with port change. |
| 38 bool quic_port_migration_detected; |
| 34 }; | 39 }; |
| 35 | 40 |
| 36 } // namespace net | 41 } // namespace net |
| 37 | 42 |
| 38 #endif | 43 #endif |
| OLD | NEW |