summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorrch@chromium.org <rch@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-01-09 04:40:25 +0000
committerrch@chromium.org <rch@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-01-09 04:40:25 +0000
commitf707c3466c8ecd9767d8fbc26daa12797e0e2dfc (patch)
tree747195a7d145e9392056a2df9953532709b69583
parent490d446b454485c5005c3a5f226a39c41816257a (diff)
downloadchromium_src-f707c3466c8ecd9767d8fbc26daa12797e0e2dfc.zip
chromium_src-f707c3466c8ecd9767d8fbc26daa12797e0e2dfc.tar.gz
chromium_src-f707c3466c8ecd9767d8fbc26daa12797e0e2dfc.tar.bz2
Remove unused methods from SpdyFrameBuilder.
Review URL: https://chromiumcodereview.appspot.com/11782024 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@175705 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--net/spdy/spdy_frame_builder.cc3
-rw-r--r--net/spdy/spdy_frame_builder.h41
2 files changed, 9 insertions, 35 deletions
diff --git a/net/spdy/spdy_frame_builder.cc b/net/spdy/spdy_frame_builder.cc
index ae53a89..ba7071f 100644
--- a/net/spdy/spdy_frame_builder.cc
+++ b/net/spdy/spdy_frame_builder.cc
@@ -61,7 +61,6 @@ SpdyFrameBuilder::SpdyFrameBuilder(SpdyStreamId stream_id,
}
SpdyFrameBuilder::~SpdyFrameBuilder() {
- delete[] buffer_;
}
char* SpdyFrameBuilder::BeginWrite(size_t length) {
@@ -74,7 +73,7 @@ char* SpdyFrameBuilder::BeginWrite(size_t length) {
DCHECK_LE(length, std::numeric_limits<uint32>::max());
#endif
- return buffer_ + offset;
+ return buffer_.get() + offset;
}
void SpdyFrameBuilder::EndWrite(char* dest, int length) {
diff --git a/net/spdy/spdy_frame_builder.h b/net/spdy/spdy_frame_builder.h
index 74cafbe..8f3b0cd 100644
--- a/net/spdy/spdy_frame_builder.h
+++ b/net/spdy/spdy_frame_builder.h
@@ -8,6 +8,7 @@
#include <string>
#include "base/basictypes.h"
+#include "base/memory/scoped_ptr.h"
#include "base/string_piece.h"
#include "base/sys_byteorder.h"
#include "net/base/net_export.h"
@@ -15,7 +16,7 @@
namespace net {
-// This class provides facilities for basic binary value packing and unpacking
+// This class provides facilities for basic binary value packing
// into Spdy frames.
//
// The SpdyFrameBuilder supports appending primitive values (int, string, etc)
@@ -24,8 +25,6 @@ namespace net {
// buffer is exposed as the "data" of the SpdyFrameBuilder.
class NET_EXPORT_PRIVATE SpdyFrameBuilder {
public:
- ~SpdyFrameBuilder();
-
// Initializes a SpdyFrameBuilder with a buffer of given size
explicit SpdyFrameBuilder(size_t size);
@@ -40,13 +39,14 @@ class NET_EXPORT_PRIVATE SpdyFrameBuilder {
// |stream_id| and |flags|.
SpdyFrameBuilder(SpdyStreamId stream_id, SpdyDataFlags flags, size_t size);
+ ~SpdyFrameBuilder();
+
// Returns the size of the SpdyFrameBuilder's data.
size_t length() const { return length_; }
// Takes the buffer from the SpdyFrameBuilder.
SpdyFrame* take() {
- SpdyFrame* rv = new SpdyFrame(buffer_, true);
- buffer_ = NULL;
+ SpdyFrame* rv = new SpdyFrame(buffer_.release(), true);
capacity_ = 0;
length_ = 0;
return rv;
@@ -81,51 +81,26 @@ class NET_EXPORT_PRIVATE SpdyFrameBuilder {
bool WriteBytesToOffset(int offset, const void* data, uint32 data_len) {
if (offset + data_len > length_)
return false;
- char *ptr = buffer_ + offset;
+ char *ptr = buffer_.get() + offset;
memcpy(ptr, data, data_len);
return true;
}
- // 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.
- bool IteratorHasRoomFor(const void* iter, int len) const {
- const char* end_of_region = reinterpret_cast<const char*>(iter) + len;
- if (len < 0 ||
- iter < buffer_ ||
- iter > end_of_payload() ||
- iter > end_of_region ||
- end_of_region > end_of_payload())
- return false;
-
- // Watch out for overflow in pointer calculation, which wraps.
- return (iter <= end_of_region) && (end_of_region <= end_of_payload());
- }
-
protected:
- size_t capacity() const {
- return capacity_;
- }
-
- const char* end_of_payload() const { return buffer_ + length_; }
+ const char* end_of_payload() const { return buffer_.get() + length_; }
// Completes the write operation by padding the data with NULL bytes until it
// is padded. Should be paired with BeginWrite, but it does not necessarily
// have to be called after the data is written.
void EndWrite(char* dest, int length);
- // Moves the iterator by the given number of bytes.
- static void UpdateIter(void** iter, int bytes) {
- *iter = static_cast<char*>(*iter) + bytes;
- }
-
private:
// Returns the location that the data should be written at, or NULL if there
// is not enough room. Call EndWrite with the returned offset and the given
// length to pad out for the next write.
char* BeginWrite(size_t length);
- char* buffer_;
+ scoped_ptr<char[]> buffer_;
size_t capacity_; // Allocation size of payload (or -1 if buffer is const).
size_t length_; // current length of the buffer
};