diff options
Diffstat (limited to 'chromium/net/spdy/spdy_protocol.cc')
-rw-r--r-- | chromium/net/spdy/spdy_protocol.cc | 147 |
1 files changed, 57 insertions, 90 deletions
diff --git a/chromium/net/spdy/spdy_protocol.cc b/chromium/net/spdy/spdy_protocol.cc index 46b080f940a..ca48c5470ae 100644 --- a/chromium/net/spdy/spdy_protocol.cc +++ b/chromium/net/spdy/spdy_protocol.cc @@ -6,27 +6,9 @@ namespace net { -SpdyFrameWithHeaderBlockIR::SpdyFrameWithHeaderBlockIR(SpdyStreamId stream_id) - : SpdyFrameWithFinIR(stream_id) {} - -SpdyFrameWithHeaderBlockIR::~SpdyFrameWithHeaderBlockIR() {} - -SpdyDataIR::SpdyDataIR(SpdyStreamId stream_id, base::StringPiece data) - : SpdyFrameWithFinIR(stream_id), padded_(false), padding_payload_len_(0) { - SetDataDeep(data); -} - -SpdyDataIR::SpdyDataIR(SpdyStreamId stream_id) - : SpdyFrameWithFinIR(stream_id), - padded_(false), - padding_payload_len_(0) {} - -SpdyDataIR::~SpdyDataIR() {} - bool SpdyConstants::IsValidFrameType(SpdyMajorVersion version, int frame_type_field) { switch (version) { - case SPDY2: case SPDY3: // SYN_STREAM is the first valid frame. if (frame_type_field < SerializeFrameType(version, SYN_STREAM)) { @@ -66,7 +48,6 @@ bool SpdyConstants::IsValidFrameType(SpdyMajorVersion version, SpdyFrameType SpdyConstants::ParseFrameType(SpdyMajorVersion version, int frame_type_field) { switch (version) { - case SPDY2: case SPDY3: switch (frame_type_field) { case 1: @@ -124,7 +105,6 @@ SpdyFrameType SpdyConstants::ParseFrameType(SpdyMajorVersion version, int SpdyConstants::SerializeFrameType(SpdyMajorVersion version, SpdyFrameType frame_type) { switch (version) { - case SPDY2: case SPDY3: switch (frame_type) { case SYN_STREAM: @@ -186,7 +166,6 @@ int SpdyConstants::SerializeFrameType(SpdyMajorVersion version, int SpdyConstants::DataFrameType(SpdyMajorVersion version) { switch (version) { - case SPDY2: case SPDY3: return 0; case HTTP2: @@ -200,7 +179,6 @@ int SpdyConstants::DataFrameType(SpdyMajorVersion version) { bool SpdyConstants::IsValidSettingId(SpdyMajorVersion version, int setting_id_field) { switch (version) { - case SPDY2: case SPDY3: // UPLOAD_BANDWIDTH is the first valid setting id. if (setting_id_field < @@ -238,7 +216,6 @@ bool SpdyConstants::IsValidSettingId(SpdyMajorVersion version, SpdySettingsIds SpdyConstants::ParseSettingId(SpdyMajorVersion version, int setting_id_field) { switch (version) { - case SPDY2: case SPDY3: switch (setting_id_field) { case 1: @@ -282,7 +259,6 @@ SpdySettingsIds SpdyConstants::ParseSettingId(SpdyMajorVersion version, int SpdyConstants::SerializeSettingId(SpdyMajorVersion version, SpdySettingsIds id) { switch (version) { - case SPDY2: case SPDY3: switch (id) { case SETTINGS_UPLOAD_BANDWIDTH: @@ -329,7 +305,6 @@ int SpdyConstants::SerializeSettingId(SpdyMajorVersion version, bool SpdyConstants::IsValidRstStreamStatus(SpdyMajorVersion version, int rst_stream_status_field) { switch (version) { - case SPDY2: case SPDY3: // PROTOCOL_ERROR is the valid first status code. if (rst_stream_status_field < @@ -378,7 +353,6 @@ SpdyRstStreamStatus SpdyConstants::ParseRstStreamStatus( SpdyMajorVersion version, int rst_stream_status_field) { switch (version) { - case SPDY2: case SPDY3: switch (rst_stream_status_field) { case 1: @@ -399,8 +373,6 @@ SpdyRstStreamStatus SpdyConstants::ParseRstStreamStatus( return RST_STREAM_STREAM_IN_USE; case 9: return RST_STREAM_STREAM_ALREADY_CLOSED; - case 10: - return RST_STREAM_INVALID_CREDENTIALS; case 11: return RST_STREAM_FRAME_TOO_LARGE; } @@ -441,7 +413,6 @@ int SpdyConstants::SerializeRstStreamStatus( SpdyMajorVersion version, SpdyRstStreamStatus rst_stream_status) { switch (version) { - case SPDY2: case SPDY3: switch (rst_stream_status) { case RST_STREAM_PROTOCOL_ERROR: @@ -462,8 +433,6 @@ int SpdyConstants::SerializeRstStreamStatus( return 8; case RST_STREAM_STREAM_ALREADY_CLOSED: return 9; - case RST_STREAM_INVALID_CREDENTIALS: - return 10; case RST_STREAM_FRAME_TOO_LARGE: return 11; default: @@ -508,7 +477,6 @@ int SpdyConstants::SerializeRstStreamStatus( bool SpdyConstants::IsValidGoAwayStatus(SpdyMajorVersion version, int goaway_status_field) { switch (version) { - case SPDY2: case SPDY3: // GOAWAY_OK is the first valid status. if (goaway_status_field < SerializeGoAwayStatus(version, GOAWAY_OK)) { @@ -544,7 +512,6 @@ bool SpdyConstants::IsValidGoAwayStatus(SpdyMajorVersion version, SpdyGoAwayStatus SpdyConstants::ParseGoAwayStatus(SpdyMajorVersion version, int goaway_status_field) { switch (version) { - case SPDY2: case SPDY3: switch (goaway_status_field) { case 0: @@ -593,52 +560,9 @@ SpdyGoAwayStatus SpdyConstants::ParseGoAwayStatus(SpdyMajorVersion version, return GOAWAY_PROTOCOL_ERROR; } -SpdyMajorVersion SpdyConstants::ParseMajorVersion(int version_number) { - switch (version_number) { - case 2: - return SPDY2; - case 3: - return SPDY3; - case 4: - return HTTP2; - default: - LOG(DFATAL) << "Unsupported SPDY version number: " << version_number; - return SPDY3; - } -} - -int SpdyConstants::SerializeMajorVersion(SpdyMajorVersion version) { - switch (version) { - case SPDY2: - return 2; - case SPDY3: - return 3; - case HTTP2: - return 4; - default: - LOG(DFATAL) << "Unsupported SPDY major version: " << version; - return -1; - } -} - -std::string SpdyConstants::GetVersionString(SpdyMajorVersion version) { - switch (version) { - case SPDY2: - return "spdy/2"; - case SPDY3: - return "spdy/3"; - case HTTP2: - return "h2"; - default: - LOG(DFATAL) << "Unsupported SPDY major version: " << version; - return "spdy/3"; - } -} - int SpdyConstants::SerializeGoAwayStatus(SpdyMajorVersion version, SpdyGoAwayStatus status) { switch (version) { - case SPDY2: case SPDY3: // TODO(jgraettinger): Merge this back to server-side. switch (status) { @@ -703,7 +627,6 @@ int SpdyConstants::SerializeGoAwayStatus(SpdyMajorVersion version, size_t SpdyConstants::GetDataFrameMinimumSize(SpdyMajorVersion version) { switch (version) { - case SPDY2: case SPDY3: return 8; case HTTP2: @@ -715,7 +638,6 @@ size_t SpdyConstants::GetDataFrameMinimumSize(SpdyMajorVersion version) { size_t SpdyConstants::GetControlFrameHeaderSize(SpdyMajorVersion version) { switch (version) { - case SPDY2: case SPDY3: return 8; case HTTP2: @@ -747,22 +669,73 @@ size_t SpdyConstants::GetFrameMaximumSize(SpdyMajorVersion version) { } } -size_t SpdyConstants::GetSizeOfSizeField(SpdyMajorVersion version) { - return (version < SPDY3) ? sizeof(uint16) : sizeof(uint32); +size_t SpdyConstants::GetSizeOfSizeField() { + return sizeof(uint32_t); } size_t SpdyConstants::GetSettingSize(SpdyMajorVersion version) { return version <= SPDY3 ? 8 : 6; } -int32 SpdyConstants::GetInitialStreamWindowSize(SpdyMajorVersion version) { +int32_t SpdyConstants::GetInitialStreamWindowSize(SpdyMajorVersion version) { return (version <= SPDY3) ? (64 * 1024) : (64 * 1024 - 1); } -int32 SpdyConstants::GetInitialSessionWindowSize(SpdyMajorVersion version) { +int32_t SpdyConstants::GetInitialSessionWindowSize(SpdyMajorVersion version) { return (version <= SPDY3) ? (64 * 1024) : (64 * 1024 - 1); } +SpdyMajorVersion SpdyConstants::ParseMajorVersion(int version_number) { + switch (version_number) { + case 3: + return SPDY3; + case 4: + return HTTP2; + default: + LOG(DFATAL) << "Unsupported SPDY version number: " << version_number; + return SPDY3; + } +} + +int SpdyConstants::SerializeMajorVersion(SpdyMajorVersion version) { + switch (version) { + case SPDY3: + return 3; + case HTTP2: + return 4; + default: + LOG(DFATAL) << "Unsupported SPDY major version: " << version; + return -1; + } +} + +std::string SpdyConstants::GetVersionString(SpdyMajorVersion version) { + switch (version) { + case SPDY3: + return "spdy/3"; + case HTTP2: + return "h2"; + default: + LOG(DFATAL) << "Unsupported SPDY major version: " << version; + return "spdy/3"; + } +} + +SpdyFrameWithHeaderBlockIR::SpdyFrameWithHeaderBlockIR(SpdyStreamId stream_id) + : SpdyFrameWithFinIR(stream_id) {} + +SpdyFrameWithHeaderBlockIR::~SpdyFrameWithHeaderBlockIR() {} + +SpdyDataIR::SpdyDataIR(SpdyStreamId stream_id, base::StringPiece data) + : SpdyFrameWithFinIR(stream_id), padded_(false), padding_payload_len_(0) { + SetDataDeep(data); +} + +SpdyDataIR::SpdyDataIR(SpdyStreamId stream_id) + : SpdyFrameWithFinIR(stream_id), padded_(false), padding_payload_len_(0) {} + +SpdyDataIR::~SpdyDataIR() {} + void SpdyDataIR::Visit(SpdyFrameVisitor* visitor) const { return visitor->VisitData(*this); } @@ -776,10 +749,8 @@ void SpdySynReplyIR::Visit(SpdyFrameVisitor* visitor) const { } SpdyRstStreamIR::SpdyRstStreamIR(SpdyStreamId stream_id, - SpdyRstStreamStatus status, - base::StringPiece description) - : SpdyFrameWithStreamIdIR(stream_id), - description_(description) { + SpdyRstStreamStatus status) + : SpdyFrameWithStreamIdIR(stream_id) { set_status(status); } @@ -813,10 +784,6 @@ SpdyGoAwayIR::SpdyGoAwayIR(SpdyStreamId last_good_stream_id, SpdyGoAwayIR::~SpdyGoAwayIR() {} -const base::StringPiece& SpdyGoAwayIR::description() const { - return description_; -} - void SpdyGoAwayIR::Visit(SpdyFrameVisitor* visitor) const { return visitor->VisitGoAway(*this); } |