diff options
author | mbelshe@chromium.org <mbelshe@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-08-03 20:52:02 +0000 |
---|---|---|
committer | mbelshe@chromium.org <mbelshe@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-08-03 20:52:02 +0000 |
commit | bace48c8d4042dc0da472fcdf645bbd26ad513dc (patch) | |
tree | 463168990eb6aabbf4e8472fc93524016a50d515 /net/spdy | |
parent | b83a6621517d44fd8a39dacc2beac07735dd1d1e (diff) | |
download | chromium_src-bace48c8d4042dc0da472fcdf645bbd26ad513dc.zip chromium_src-bace48c8d4042dc0da472fcdf645bbd26ad513dc.tar.gz chromium_src-bace48c8d4042dc0da472fcdf645bbd26ad513dc.tar.bz2 |
Make Chrome capable of advertising spdy version 1.
This is for debugging purposes only.
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/2808098
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54813 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/spdy')
-rw-r--r-- | net/spdy/spdy_framer.cc | 17 | ||||
-rw-r--r-- | net/spdy/spdy_framer.h | 3 |
2 files changed, 12 insertions, 8 deletions
diff --git a/net/spdy/spdy_framer.cc b/net/spdy/spdy_framer.cc index cd622b8..c558480 100644 --- a/net/spdy/spdy_framer.cc +++ b/net/spdy/spdy_framer.cc @@ -27,6 +27,7 @@ static const size_t kControlFrameBufferMaxSize = 64 * 1024; // By default is compression on or off. bool SpdyFramer::compression_default_ = true; +int SpdyFramer::spdy_version_ = kSpdyProtocolVersion; #ifdef DEBUG_SPDY_STATE_CHANGES #define CHANGE_STATE(newstate) \ @@ -259,7 +260,7 @@ void SpdyFramer::ProcessControlFrameHeader() { // We check version before we check validity: version can never be 'invalid', // it can only be unsupported. - if (current_control_frame.version() != kSpdyProtocolVersion) { + if (current_control_frame.version() != spdy_version_) { set_error(SPDY_UNSUPPORTED_VERSION); return; } @@ -520,7 +521,7 @@ SpdySynStreamControlFrame* SpdyFramer::CreateSynStream( DCHECK_EQ(0u, stream_id & ~kStreamIdMask); DCHECK_EQ(0u, associated_stream_id & ~kStreamIdMask); - frame.WriteUInt16(kControlFlagMask | kSpdyProtocolVersion); + frame.WriteUInt16(kControlFlagMask | spdy_version_); frame.WriteUInt16(SYN_STREAM); frame.WriteUInt32(0); // Placeholder for the length and flags frame.WriteUInt32(stream_id); @@ -562,7 +563,7 @@ SpdyRstStreamControlFrame* SpdyFramer::CreateRstStream(SpdyStreamId stream_id, DCHECK_LT(status, NUM_STATUS_CODES); SpdyFrameBuilder frame; - frame.WriteUInt16(kControlFlagMask | kSpdyProtocolVersion); + frame.WriteUInt16(kControlFlagMask | spdy_version_); frame.WriteUInt16(RST_STREAM); frame.WriteUInt32(8); frame.WriteUInt32(stream_id); @@ -576,7 +577,7 @@ SpdyGoAwayControlFrame* SpdyFramer::CreateGoAway( DCHECK_EQ(0u, last_accepted_stream_id & ~kStreamIdMask); SpdyFrameBuilder frame; - frame.WriteUInt16(kControlFlagMask | kSpdyProtocolVersion); + frame.WriteUInt16(kControlFlagMask | spdy_version_); frame.WriteUInt16(GOAWAY); size_t go_away_size = SpdyGoAwayControlFrame::size() - SpdyFrame::size(); frame.WriteUInt32(go_away_size); @@ -594,7 +595,7 @@ SpdyWindowUpdateControlFrame* SpdyFramer::CreateWindowUpdate( DCHECK_LT(delta_window_size, 0x80000000u); // 2^31 SpdyFrameBuilder frame; - frame.WriteUInt16(kControlFlagMask | kSpdyProtocolVersion); + frame.WriteUInt16(kControlFlagMask | spdy_version_); frame.WriteUInt16(WINDOW_UPDATE); size_t window_update_size = SpdyWindowUpdateControlFrame::size() - SpdyFrame::size(); @@ -608,7 +609,7 @@ SpdyWindowUpdateControlFrame* SpdyFramer::CreateWindowUpdate( SpdySettingsControlFrame* SpdyFramer::CreateSettings( const SpdySettings& values) { SpdyFrameBuilder frame; - frame.WriteUInt16(kControlFlagMask | kSpdyProtocolVersion); + frame.WriteUInt16(kControlFlagMask | spdy_version_); frame.WriteUInt16(SETTINGS); size_t settings_size = SpdySettingsControlFrame::size() - SpdyFrame::size() + 8 * values.size(); @@ -630,7 +631,7 @@ SpdySynReplyControlFrame* SpdyFramer::CreateSynReply(SpdyStreamId stream_id, SpdyFrameBuilder frame; - frame.WriteUInt16(kControlFlagMask | kSpdyProtocolVersion); + frame.WriteUInt16(kControlFlagMask | spdy_version_); frame.WriteUInt16(SYN_REPLY); frame.WriteUInt32(0); // Placeholder for the length and flags. frame.WriteUInt32(stream_id); @@ -697,7 +698,7 @@ SpdyDataFrame* SpdyFramer::CreateDataFrame(SpdyStreamId stream_id, /* static */ SpdyControlFrame* SpdyFramer::CreateNopFrame() { SpdyFrameBuilder frame; - frame.WriteUInt16(kControlFlagMask | kSpdyProtocolVersion); + frame.WriteUInt16(kControlFlagMask | spdy_version_); frame.WriteUInt16(NOOP); frame.WriteUInt32(0); return reinterpret_cast<SpdyControlFrame*>(frame.take()); diff --git a/net/spdy/spdy_framer.h b/net/spdy/spdy_framer.h index 070c870..b35ff2f 100644 --- a/net/spdy/spdy_framer.h +++ b/net/spdy/spdy_framer.h @@ -239,6 +239,8 @@ class SpdyFramer { // For debugging. static const char* StateToString(int state); static const char* ErrorCodeToString(int error_code); + static void set_protocol_version(int version) { spdy_version_= version; } + static int protocol_version() { return spdy_version_; } // Export the compression dictionary static const char kDictionary[]; @@ -328,6 +330,7 @@ class SpdyFramer { SpdyFramerVisitorInterface* visitor_; static bool compression_default_; + static int spdy_version_; }; } // namespace spdy |