diff options
Diffstat (limited to 'net/spdy/spdy_protocol.h')
-rw-r--r-- | net/spdy/spdy_protocol.h | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/net/spdy/spdy_protocol.h b/net/spdy/spdy_protocol.h index 2bf8c68..97d0eca 100644 --- a/net/spdy/spdy_protocol.h +++ b/net/spdy/spdy_protocol.h @@ -270,7 +270,8 @@ enum SpdyFrameType { WINDOW_UPDATE, CREDENTIAL, BLOCKED, - LAST_CONTROL_TYPE = BLOCKED + PUSH_PROMISE, + LAST_CONTROL_TYPE = PUSH_PROMISE }; // Flags on data packets. @@ -698,6 +699,22 @@ class NET_EXPORT_PRIVATE SpdyBlockedIR DISALLOW_COPY_AND_ASSIGN(SpdyBlockedIR); }; +class SpdyPushPromiseIR : public SpdyFrameWithNameValueBlockIR { + public: + SpdyPushPromiseIR(SpdyStreamId stream_id, SpdyStreamId promised_stream_id) + : SpdyFrameWithNameValueBlockIR(stream_id), + promised_stream_id_(promised_stream_id) {} + SpdyStreamId promised_stream_id() const { return promised_stream_id_; } + void set_promised_stream_id(SpdyStreamId id) { promised_stream_id_ = id; } + + virtual void Visit(SpdyFrameVisitor* visitor) const OVERRIDE; + + private: + SpdyStreamId promised_stream_id_; + DISALLOW_COPY_AND_ASSIGN(SpdyPushPromiseIR); +}; + + // ------------------------------------------------------------------------- // Wrapper classes for various SPDY frames. @@ -757,6 +774,7 @@ class SpdyFrameVisitor { virtual void VisitWindowUpdate(const SpdyWindowUpdateIR& window_update) = 0; virtual void VisitCredential(const SpdyCredentialIR& credential) = 0; virtual void VisitBlocked(const SpdyBlockedIR& blocked) = 0; + virtual void VisitPushPromise(const SpdyPushPromiseIR& push_promise) = 0; virtual void VisitData(const SpdyDataIR& data) = 0; protected: |