| Index: net/spdy/spdy_frame_builder.h
|
| ===================================================================
|
| --- net/spdy/spdy_frame_builder.h (revision 126086)
|
| +++ net/spdy/spdy_frame_builder.h (working copy)
|
| @@ -1,4 +1,4 @@
|
| -// Copyright (c) 2011 The Chromium Authors. All rights reserved.
|
| +// Copyright (c) 2012 The Chromium Authors. All rights reserved.
|
| // Use of this source code is governed by a BSD-style license that can be
|
| // found in the LICENSE file.
|
|
|
| @@ -9,6 +9,7 @@
|
| #include <string>
|
|
|
| #include "base/basictypes.h"
|
| +#include "base/string_piece.h"
|
| #include "base/sys_byteorder.h"
|
| #include "net/base/net_export.h"
|
| #include "net/spdy/spdy_protocol.h"
|
| @@ -22,10 +23,6 @@
|
| // to a frame instance. The SpdyFrameBuilder grows its internal memory buffer
|
| // dynamically to hold the sequence of primitive values. The internal memory
|
| // buffer is exposed as the "data" of the SpdyFrameBuilder.
|
| -//
|
| -// When reading from a SpdyFrameBuilder the consumer must know what value types
|
| -// to read and in what order to read them as the SpdyFrameBuilder does not keep
|
| -// track of the type of data written to it.
|
| class NET_EXPORT_PRIVATE SpdyFrameBuilder {
|
| public:
|
| ~SpdyFrameBuilder();
|
| @@ -36,12 +33,6 @@
|
| // The buffer will still be resized as necessary.
|
| explicit SpdyFrameBuilder(size_t size);
|
|
|
| - // Initializes a SpdyFrameBuilder from a const block of data. The data is
|
| - // not copied; instead the data is merely referenced by this
|
| - // SpdyFrameBuilder. Only const methods should be used when initialized
|
| - // this way.
|
| - SpdyFrameBuilder(const char* data, int data_len);
|
| -
|
| // Returns the size of the SpdyFrameBuilder's data.
|
| int length() const { return length_; }
|
|
|
| @@ -54,22 +45,8 @@
|
| return rv;
|
| }
|
|
|
| - // Methods for reading the payload of the SpdyFrameBuilder. To read from the
|
| - // start of the SpdyFrameBuilder, initialize *iter to NULL. If successful,
|
| - // these methods return true. Otherwise, false is returned to indicate that
|
| - // the result could not be extracted.
|
| - bool ReadUInt16(void** iter, uint16* result) const;
|
| - bool ReadUInt32(void** iter, uint32* result) const;
|
| - bool ReadString(void** iter, std::string* result) const;
|
| - bool ReadBytes(void** iter, const char** data, uint32 length) const;
|
| - bool ReadData(void** iter, const char** data, uint16* length) const;
|
| - bool ReadReadLen32PrefixedData(void** iter,
|
| - const char** data,
|
| - uint32* length) const;
|
| -
|
| // Methods for adding to the payload. These values are appended to the end
|
| - // of the SpdyFrameBuilder payload. When reading values, you must read them
|
| - // in the order they were added. Note - binary integers are converted from
|
| + // of the SpdyFrameBuilder payload. Note - binary integers are converted from
|
| // host to network form.
|
| bool WriteUInt16(uint16 value) {
|
| value = htons(value);
|
| @@ -79,7 +56,9 @@
|
| value = htonl(value);
|
| return WriteBytes(&value, sizeof(value));
|
| }
|
| + // TODO(hkhalil) Rename to WriteStringPiece16().
|
| bool WriteString(const std::string& value);
|
| + bool WriteStringPiece32(const base::StringPiece& value);
|
| bool WriteBytes(const void* data, uint32 data_len);
|
|
|
| // Write an integer to a particular offset in the data buffer.
|
| @@ -97,16 +76,6 @@
|
| return true;
|
| }
|
|
|
| - // Allows the caller to write data directly into the SpdyFrameBuilder.
|
| - // This saves a copy when the data is not already available in a buffer.
|
| - // The caller must not write more than the length it declares it will.
|
| - // Use ReadData to get the data.
|
| - // Returns NULL on failure.
|
| - //
|
| - // The returned pointer will only be valid until the next write operation
|
| - // on this SpdyFrameBuilder.
|
| - char* BeginWriteData(uint16 length);
|
| -
|
| // Returns true if the given iterator could point to data with the given
|
| // length. If there is no room for the given data before the end of the
|
| // payload, returns false.
|
| @@ -152,9 +121,6 @@
|
| *iter = static_cast<char*>(*iter) + bytes;
|
| }
|
|
|
| - // Initial size of the payload.
|
| - static const int kInitialPayload = 1024;
|
| -
|
| private:
|
| char* buffer_;
|
| size_t capacity_; // Allocation size of payload (or -1 if buffer is const).
|
|
|