Index: net/spdy/spdy_read_queue.cc |
diff --git a/net/spdy/spdy_read_queue.cc b/net/spdy/spdy_read_queue.cc |
index adb0654186f868191bdb9da250ca22160c9cdb64..92a34e3e260cd0c73b2434972248f76bdec5ef00 100644 |
--- a/net/spdy/spdy_read_queue.cc |
+++ b/net/spdy/spdy_read_queue.cc |
@@ -4,8 +4,10 @@ |
#include "net/spdy/spdy_read_queue.h" |
+#include <algorithm> |
+#include <utility> |
+ |
#include "base/logging.h" |
-#include "base/stl_util.h" |
#include "net/spdy/spdy_buffer.h" |
namespace net { |
@@ -28,31 +30,29 @@ size_t SpdyReadQueue::GetTotalSize() const { |
void SpdyReadQueue::Enqueue(std::unique_ptr<SpdyBuffer> buffer) { |
DCHECK_GT(buffer->GetRemainingSize(), 0u); |
total_size_ += buffer->GetRemainingSize(); |
- queue_.push_back(buffer.release()); |
+ queue_.push_back(std::move(buffer)); |
} |
size_t SpdyReadQueue::Dequeue(char* out, size_t len) { |
DCHECK_GT(len, 0u); |
size_t bytes_copied = 0; |
while (!queue_.empty() && bytes_copied < len) { |
- SpdyBuffer* buffer = queue_.front(); |
+ SpdyBuffer* buffer = queue_.front().get(); |
size_t bytes_to_copy = |
std::min(len - bytes_copied, buffer->GetRemainingSize()); |
memcpy(out + bytes_copied, buffer->GetRemainingData(), bytes_to_copy); |
bytes_copied += bytes_to_copy; |
- if (bytes_to_copy == buffer->GetRemainingSize()) { |
- delete queue_.front(); |
+ if (bytes_to_copy == buffer->GetRemainingSize()) |
queue_.pop_front(); |
- } else { |
+ else |
buffer->Consume(bytes_to_copy); |
- } |
} |
total_size_ -= bytes_copied; |
return bytes_copied; |
} |
void SpdyReadQueue::Clear() { |
- base::STLDeleteElements(&queue_); |
+ queue_.clear(); |
} |
} // namespace net |