| OLD | NEW | 
| (Empty) |  | 
 |   1 // Copyright 2014 The Chromium Authors. All rights reserved. | 
 |   2 // Use of this source code is governed by a BSD-style license that can be | 
 |   3 // found in the LICENSE file. | 
 |   4  | 
 |   5 #include "sync/internal_api/protocol_event_buffer.h" | 
 |   6  | 
 |   7 #include "sync/internal_api/public/events/protocol_event.h" | 
 |   8  | 
 |   9 namespace syncer { | 
 |  10  | 
 |  11 const size_t ProtocolEventBuffer::kBufferSize = 6; | 
 |  12  | 
 |  13 ProtocolEventBuffer::ProtocolEventBuffer() | 
 |  14   : buffer_deleter_(&buffer_) {} | 
 |  15  | 
 |  16 ProtocolEventBuffer::~ProtocolEventBuffer() {} | 
 |  17  | 
 |  18 void ProtocolEventBuffer::RecordProtocolEvent(const ProtocolEvent& event) { | 
 |  19   buffer_.push_back(event.Clone().release()); | 
 |  20   if (buffer_.size() > kBufferSize) { | 
 |  21     ProtocolEvent* to_delete = buffer_.front(); | 
 |  22     buffer_.pop_front(); | 
 |  23     delete to_delete; | 
 |  24   } | 
 |  25 } | 
 |  26  | 
 |  27 ScopedVector<ProtocolEvent> | 
 |  28 ProtocolEventBuffer::GetBufferedProtocolEvents() const { | 
 |  29   ScopedVector<ProtocolEvent> ret; | 
 |  30   for (std::deque<ProtocolEvent*>::const_iterator it = buffer_.begin(); | 
 |  31        it != buffer_.end(); ++it) { | 
 |  32     ret.push_back((*it)->Clone().release()); | 
 |  33   } | 
 |  34   return ret.Pass(); | 
 |  35 } | 
 |  36  | 
 |  37 }  // namespace syncer | 
| OLD | NEW |