summaryrefslogtreecommitdiffstats
path: root/chromium/net/tools/flip_server/spdy_interface.h
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/net/tools/flip_server/spdy_interface.h')
-rw-r--r--chromium/net/tools/flip_server/spdy_interface.h15
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.