| Index: net/spdy/spdy_session.h
|
| diff --git a/net/spdy/spdy_session.h b/net/spdy/spdy_session.h
|
| index 4d5fee94576c6f7286d26ac9959ac25174375a09..d3d5ec3786ca642eae9711984bf543b676a373a2 100644
|
| --- a/net/spdy/spdy_session.h
|
| +++ b/net/spdy/spdy_session.h
|
| @@ -49,6 +49,50 @@ class BoundNetLog;
|
| class SpdyStream;
|
| class SSLInfo;
|
|
|
| +enum SpdyProtocolErrorDetails {
|
| + // SpdyFramer::SpdyErrors
|
| + SPDY_ERROR_NO_ERROR,
|
| + SPDY_ERROR_INVALID_CONTROL_FRAME,
|
| + SPDY_ERROR_CONTROL_PAYLOAD_TOO_LARGE,
|
| + SPDY_ERROR_ZLIB_INIT_FAILURE,
|
| + SPDY_ERROR_UNSUPPORTED_VERSION,
|
| + SPDY_ERROR_DECOMPRESS_FAILURE,
|
| + SPDY_ERROR_COMPRESS_FAILURE,
|
| + SPDY_ERROR_CREDENTIAL_FRAME_CORRUPT,
|
| + SPDY_ERROR_INVALID_DATA_FRAME_FLAGS,
|
| +
|
| + // SpdyStatusCodes
|
| + STATUS_CODE_INVALID,
|
| + STATUS_CODE_PROTOCOL_ERROR,
|
| + STATUS_CODE_INVALID_STREAM,
|
| + STATUS_CODE_REFUSED_STREAM,
|
| + STATUS_CODE_UNSUPPORTED_VERSION,
|
| + STATUS_CODE_CANCEL,
|
| + STATUS_CODE_INTERNAL_ERROR,
|
| + STATUS_CODE_FLOW_CONTROL_ERROR,
|
| + STATUS_CODE_STREAM_IN_USE,
|
| + STATUS_CODE_STREAM_ALREADY_CLOSED,
|
| + STATUS_CODE_INVALID_CREDENTIALS,
|
| + STATUS_CODE_FRAME_TOO_LARGE,
|
| +
|
| + // SpdySession errors
|
| + PROTOCOL_ERROR_UNEXPECTED_PING,
|
| + PROTOCOL_ERROR_RST_STREAM_FOR_NON_ACTIVE_STREAM,
|
| + PROTOCOL_ERROR_SPDY_COMPRESSION_FAILURE,
|
| + PROTOCOL_ERROR_REQUST_FOR_SECURE_CONTENT_OVER_INSECURE_SESSION,
|
| + PROTOCOL_ERROR_SYN_REPLY_NOT_RECEIVED,
|
| + NUM_SPDY_PROTOCOL_ERROR_DETAILS
|
| +};
|
| +
|
| +COMPILE_ASSERT(STATUS_CODE_INVALID ==
|
| + static_cast<SpdyProtocolErrorDetails>(SpdyFramer::LAST_ERROR),
|
| + SpdyProtocolErrorDetails_SpdyErrors_mismatch);
|
| +
|
| +COMPILE_ASSERT(PROTOCOL_ERROR_UNEXPECTED_PING ==
|
| + static_cast<SpdyProtocolErrorDetails>(NUM_STATUS_CODES +
|
| + STATUS_CODE_INVALID),
|
| + SpdyProtocolErrorDetails_SpdyErrors_mismatch);
|
| +
|
| class NET_EXPORT SpdySession : public base::RefCounted<SpdySession>,
|
| public BufferedSpdyFramerVisitorInterface {
|
| public:
|
| @@ -417,6 +461,7 @@ class NET_EXPORT SpdySession : public base::RefCounted<SpdySession>,
|
|
|
| void RecordPingRTTHistogram(base::TimeDelta duration);
|
| void RecordHistograms();
|
| + void RecordProtocolErrorHistogram(SpdyProtocolErrorDetails details);
|
|
|
| // Closes all streams. Used as part of shutdown.
|
| void CloseAllStreams(net::Error status);
|
|
|