| Index: net/quic/chromium/quic_chromium_client_session.h
|
| diff --git a/net/quic/chromium/quic_chromium_client_session.h b/net/quic/chromium/quic_chromium_client_session.h
|
| index dcf436381f69a1cfa4bfa0f3b8435e178f1ecb7f..5a2ac65315aceb3458f0c6dcb478cbb808526410 100644
|
| --- a/net/quic/chromium/quic_chromium_client_session.h
|
| +++ b/net/quic/chromium/quic_chromium_client_session.h
|
| @@ -58,6 +58,18 @@
|
| public QuicChromiumPacketReader::Visitor,
|
| public QuicChromiumPacketWriter::WriteErrorObserver {
|
| public:
|
| + // Reasons to disable QUIC, that is under certain pathological
|
| + // connection errors. Note: these values must be kept in sync with
|
| + // the corresponding values of QuicDisabledReason in:
|
| + // tools/metrics/histograms/histograms.xml
|
| + enum QuicDisabledReason {
|
| + QUIC_DISABLED_NOT = 0, // default, not disabled
|
| + QUIC_DISABLED_PUBLIC_RESET_POST_HANDSHAKE = 1,
|
| + QUIC_DISABLED_TIMEOUT_WITH_OPEN_STREAMS = 2,
|
| + QUIC_DISABLED_BAD_PACKET_LOSS_RATE = 3,
|
| + QUIC_DISABLED_MAX = 4,
|
| + };
|
| +
|
| // An interface for observing events on a session.
|
| class NET_EXPORT_PRIVATE Observer {
|
| public:
|
| @@ -236,6 +248,8 @@
|
| bool CanPool(const std::string& hostname, PrivacyMode privacy_mode) const;
|
|
|
| const QuicServerId& server_id() const { return server_id_; }
|
| +
|
| + QuicDisabledReason disabled_reason() const { return disabled_reason_; }
|
|
|
| // Migrates session onto new socket, i.e., starts reading from
|
| // |socket| in addition to any previous sockets, and sets |writer|
|
| @@ -344,6 +358,7 @@
|
| bool going_away_;
|
| // True when the session receives a go away from server due to port migration.
|
| bool port_migration_detected_;
|
| + QuicDisabledReason disabled_reason_;
|
| TokenBindingSignatureMap token_binding_signatures_;
|
| // UMA histogram counters for streams pushed to this session.
|
| int streams_pushed_count_;
|
|
|