Index: net/tools/flip_server/ring_buffer.h |
diff --git a/net/tools/flip_server/ring_buffer.h b/net/tools/flip_server/ring_buffer.h |
deleted file mode 100644 |
index 538595c657dc82056262c1088cf42b8190e15424..0000000000000000000000000000000000000000 |
--- a/net/tools/flip_server/ring_buffer.h |
+++ /dev/null |
@@ -1,113 +0,0 @@ |
-// Copyright (c) 2011 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. |
- |
-#ifndef NET_TOOLS_FLIP_SERVER_RING_BUFFER_H__ |
-#define NET_TOOLS_FLIP_SERVER_RING_BUFFER_H__ |
- |
-#include <memory> |
- |
-#include "base/compiler_specific.h" |
-#include "net/tools/balsa/buffer_interface.h" |
- |
-namespace net { |
- |
-// The ring buffer is a circular buffer, that is, reads or writes may wrap |
-// around the end of the linear memory contained by the class (and back to |
-// the beginning). This is a good choice when you want to use a fixed amount |
-// of buffering and don't want to be moving memory around a lot. |
-// |
-// What is the penalty for using this over a normal, linear buffer? |
-// Reading all the data may take two operations, and |
-// writing all the data may take two operations. |
-// |
-// In the proxy, this class is used as a fixed size buffer between |
-// clients and servers (so that the memory size is constrained). |
- |
-class RingBuffer : public BufferInterface { |
- public: |
- explicit RingBuffer(int buffer_size); |
- ~RingBuffer() override; |
- |
- // Resize the buffer to the size specified here. If the buffer_size passed |
- // in here is smaller than the amount of data in the buffer, then the oldest |
- // data will be dropped, but all other data will be saved. |
- // This means: If the buffer size is increasing, all data that was resident |
- // in the buffer prior to this call will be resident after this call. |
- void Resize(int buffer_size); |
- |
- // The following functions all override pure virtual functions |
- // in BufferInterface. See buffer_interface.h for a description |
- // of what they do if the function isn't documented here. |
- int ReadableBytes() const override; |
- int BufferSize() const override; |
- int BytesFree() const override; |
- |
- bool Empty() const override; |
- bool Full() const override; |
- |
- // returns the number of characters written. |
- // appends up-to-'size' bytes to the ringbuffer. |
- int Write(const char* bytes, int size) override; |
- |
- // Stores a pointer into the ring buffer in *ptr, and stores the number of |
- // characters which are allowed to be written in *size. |
- // If there are no writable bytes available, then *size will contain 0. |
- void GetWritablePtr(char** ptr, int* size) const override; |
- |
- // Stores a pointer into the ring buffer in *ptr, and stores the number of |
- // characters which are allowed to be read in *size. |
- // If there are no readable bytes available, then *size will contain 0. |
- void GetReadablePtr(char** ptr, int* size) const override; |
- |
- // Returns the number of bytes read into 'bytes'. |
- int Read(char* bytes, int size) override; |
- |
- // Removes all data from the ring buffer. |
- void Clear() override; |
- |
- // Reserves contiguous writable empty space in the buffer of size bytes. |
- // Since the point of this class is to have a fixed size buffer, be careful |
- // not to inadvertently resize the buffer using Reserve(). If the reserve |
- // size is <= BytesFree(), it is guaranteed that the buffer size will not |
- // change. |
- // This can be an expensive operation, it may new a buffer copy all existing |
- // data and delete the old data. Even if the existing buffer does not need |
- // to be resized, unread data may still need to be non-destructively copied |
- // to consolidate fragmented free space. If the size requested is less than |
- // or equal to BytesFree(), it is guaranteed that the buffer size will not |
- // change. |
- bool Reserve(int size) override; |
- |
- // Removes the oldest 'amount_to_advance' characters. |
- // If amount_to_consume > ReadableBytes(), this performs a Clear() instead. |
- void AdvanceReadablePtr(int amount_to_advance) override; |
- |
- // Moves the internal pointers around such that the amount of data specified |
- // here is expected to already be resident (as if it was Written). |
- void AdvanceWritablePtr(int amount_to_advance) override; |
- |
- protected: |
- int read_idx() const { return read_idx_; } |
- int write_idx() const { return write_idx_; } |
- int bytes_used() const { return bytes_used_; } |
- int buffer_size() const { return buffer_size_; } |
- const char* buffer() const { return buffer_.get(); } |
- |
- int set_read_idx(int idx) { return read_idx_ = idx; } |
- int set_write_idx(int idx) { return write_idx_ = idx; } |
- |
- private: |
- std::unique_ptr<char[]> buffer_; |
- int buffer_size_; |
- int bytes_used_; |
- int read_idx_; |
- int write_idx_; |
- |
- RingBuffer(const RingBuffer&); |
- void operator=(const RingBuffer&); |
-}; |
- |
-} // namespace net |
- |
-#endif // NET_TOOLS_FLIP_SERVER_RING_BUFFER_H__ |