diff options
Diffstat (limited to 'chromium/net/tools/flip_server/spdy_interface.h')
-rw-r--r-- | chromium/net/tools/flip_server/spdy_interface.h | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/chromium/net/tools/flip_server/spdy_interface.h b/chromium/net/tools/flip_server/spdy_interface.h index 6e5ad0b0a8f..e472cf2ac59 100644 --- a/chromium/net/tools/flip_server/spdy_interface.h +++ b/chromium/net/tools/flip_server/spdy_interface.h @@ -10,6 +10,7 @@ #include <vector> #include "base/compiler_specific.h" +#include "base/memory/scoped_ptr.h" #include "net/spdy/buffered_spdy_framer.h" #include "net/spdy/spdy_protocol.h" #include "net/tools/balsa/balsa_headers.h" @@ -45,6 +46,9 @@ class SpdySM : public BufferedSpdyFramerVisitorInterface, public SMInterface { std::string remote_ip, bool use_ssl) OVERRIDE; + // Create new SPDY framer after reusing SpdySM and negotiating new version + void CreateFramer(SpdyMajorVersion spdy_version); + private: virtual void set_is_request() OVERRIDE {} SMInterface* NewConnectionInterface(); @@ -66,7 +70,6 @@ class SpdySM : public BufferedSpdyFramerVisitorInterface, public SMInterface { virtual void OnSynStream(SpdyStreamId stream_id, SpdyStreamId associated_stream_id, SpdyPriority priority, - uint8 credential_slot, bool fin, bool unidirectional, const SpdyHeaderBlock& headers) OVERRIDE; @@ -108,7 +111,7 @@ class SpdySM : public BufferedSpdyFramerVisitorInterface, public SMInterface { uint32 value) OVERRIDE {} // Called when a PING frame has been parsed. - virtual void OnPing(uint32 unique_id) OVERRIDE {} + virtual void OnPing(SpdyPingId unique_id, bool is_ack) OVERRIDE {} // Called when a RST_STREAM frame has been parsed. virtual void OnRstStream(SpdyStreamId stream_id, @@ -124,7 +127,8 @@ class SpdySM : public BufferedSpdyFramerVisitorInterface, public SMInterface { // Called when a PUSH_PROMISE frame has been parsed. virtual void OnPushPromise(SpdyStreamId stream_id, - SpdyStreamId promised_stream_id) OVERRIDE {} + SpdyStreamId promised_stream_id, + const SpdyHeaderBlock& headers) OVERRIDE {} public: virtual size_t ProcessReadInput(const char* data, size_t len) OVERRIDE; @@ -159,7 +163,7 @@ class SpdySM : public BufferedSpdyFramerVisitorInterface, public SMInterface { int64 len, uint32 flags, bool compress) OVERRIDE; - BufferedSpdyFramer* spdy_framer() { return buffered_spdy_framer_; } + BufferedSpdyFramer* spdy_framer() { return buffered_spdy_framer_.get(); } const OutputOrdering& output_ordering() const { return client_output_ordering_; @@ -170,6 +174,7 @@ class SpdySM : public BufferedSpdyFramerVisitorInterface, public SMInterface { forward_ip_header_ = value; } SpdyMajorVersion spdy_version() const { + DCHECK(buffered_spdy_framer_); return buffered_spdy_framer_->protocol_version(); } @@ -189,7 +194,7 @@ class SpdySM : public BufferedSpdyFramerVisitorInterface, public SMInterface { virtual void GetOutput() OVERRIDE; private: - BufferedSpdyFramer* buffered_spdy_framer_; + scoped_ptr<BufferedSpdyFramer> buffered_spdy_framer_; bool valid_spdy_session_; // True if we have seen valid data on this session. // Use this to fail fast when junk is sent to our // port. |