| Index: net/spdy/spdy_protocol.h
|
| diff --git a/net/spdy/spdy_protocol.h b/net/spdy/spdy_protocol.h
|
| index c408f0a47ab33649280cb9541c5d962264179d95..3a979b98d22976de8db8ae3645da491278c01a54 100644
|
| --- a/net/spdy/spdy_protocol.h
|
| +++ b/net/spdy/spdy_protocol.h
|
| @@ -845,9 +845,11 @@ class NET_EXPORT_PRIVATE SpdyGoAwayIR : public SpdyFrameIR {
|
| class NET_EXPORT_PRIVATE SpdyHeadersIR : public SpdyFrameWithNameValueBlockIR {
|
| public:
|
| explicit SpdyHeadersIR(SpdyStreamId stream_id)
|
| - : SpdyFrameWithNameValueBlockIR(stream_id),
|
| - has_priority_(false),
|
| - priority_(0) {}
|
| + : SpdyFrameWithNameValueBlockIR(stream_id),
|
| + has_priority_(false),
|
| + priority_(0),
|
| + padded_(false),
|
| + padding_payload_len_(0) {}
|
|
|
| void Visit(SpdyFrameVisitor* visitor) const override;
|
|
|
| @@ -856,10 +858,24 @@ class NET_EXPORT_PRIVATE SpdyHeadersIR : public SpdyFrameWithNameValueBlockIR {
|
| uint32 priority() const { return priority_; }
|
| void set_priority(SpdyPriority priority) { priority_ = priority; }
|
|
|
| + bool padded() const { return padded_; }
|
| + int padding_payload_len() const { return padding_payload_len_; }
|
| + void set_padding_len(int padding_len) {
|
| + DCHECK_GT(padding_len, 0);
|
| + DCHECK_LE(padding_len, kPaddingSizePerFrame);
|
| + padded_ = true;
|
| + // The pad field takes one octet on the wire.
|
| + padding_payload_len_ = padding_len - 1;
|
| + }
|
| +
|
| private:
|
| bool has_priority_;
|
| // 31-bit priority.
|
| uint32 priority_;
|
| +
|
| + bool padded_;
|
| + int padding_payload_len_;
|
| +
|
| DISALLOW_COPY_AND_ASSIGN(SpdyHeadersIR);
|
| };
|
|
|
| @@ -901,14 +917,30 @@ class NET_EXPORT_PRIVATE SpdyPushPromiseIR
|
| public:
|
| SpdyPushPromiseIR(SpdyStreamId stream_id, SpdyStreamId promised_stream_id)
|
| : SpdyFrameWithNameValueBlockIR(stream_id),
|
| - promised_stream_id_(promised_stream_id) {}
|
| + promised_stream_id_(promised_stream_id),
|
| + padded_(false),
|
| + padding_payload_len_(0) {}
|
| SpdyStreamId promised_stream_id() const { return promised_stream_id_; }
|
| void set_promised_stream_id(SpdyStreamId id) { promised_stream_id_ = id; }
|
|
|
| void Visit(SpdyFrameVisitor* visitor) const override;
|
|
|
| + bool padded() const { return padded_; }
|
| + int padding_payload_len() const { return padding_payload_len_; }
|
| + void set_padding_len(int padding_len) {
|
| + DCHECK_GT(padding_len, 0);
|
| + DCHECK_LE(padding_len, kPaddingSizePerFrame);
|
| + padded_ = true;
|
| + // The pad field takes one octet on the wire.
|
| + padding_payload_len_ = padding_len - 1;
|
| + }
|
| +
|
| private:
|
| SpdyStreamId promised_stream_id_;
|
| +
|
| + bool padded_;
|
| + int padding_payload_len_;
|
| +
|
| DISALLOW_COPY_AND_ASSIGN(SpdyPushPromiseIR);
|
| };
|
|
|
|
|