| Index: net/spdy/spdy_frame_builder.cc
|
| diff --git a/net/spdy/spdy_frame_builder.cc b/net/spdy/spdy_frame_builder.cc
|
| index 5f14f78ab3e18a8bd3590e3539f4445fbe7b643c..39f0c29606e9c8d7550559bcf3ce21e800869bab 100644
|
| --- a/net/spdy/spdy_frame_builder.cc
|
| +++ b/net/spdy/spdy_frame_builder.cc
|
| @@ -65,6 +65,29 @@ bool SpdyFrameBuilder::BeginNewFrame(const SpdyFramer& framer,
|
| return success;
|
| }
|
|
|
| +bool SpdyFrameBuilder::BeginNewFrame(const SpdyFramer& framer,
|
| + SpdyFrameType type,
|
| + uint8_t flags,
|
| + SpdyStreamId stream_id,
|
| + size_t length) {
|
| + DCHECK(IsValidFrameType(SerializeFrameType(type)));
|
| + DCHECK_EQ(0u, stream_id & ~kStreamIdMask);
|
| + bool success = true;
|
| + SPDY_BUG_IF(framer.GetFrameMaximumSize() < length_)
|
| + << "Frame length " << length_
|
| + << " is longer than the maximum allowed length.";
|
| +
|
| + offset_ += length_;
|
| + length_ = 0;
|
| +
|
| + success &= WriteUInt24(length);
|
| + success &= WriteUInt8(SerializeFrameType(type));
|
| + success &= WriteUInt8(flags);
|
| + success &= WriteUInt32(stream_id);
|
| + DCHECK_EQ(framer.GetDataFrameMinimumSize(), length_);
|
| + return success;
|
| +}
|
| +
|
| bool SpdyFrameBuilder::WriteStringPiece16(const base::StringPiece& value) {
|
| if (value.size() > 0xffff) {
|
| DCHECK(false) << "Tried to write string with length > 16bit.";
|
|
|