From 7139a4cb92091938692b3d640c20fbb300bb0929 Mon Sep 17 00:00:00 2001
From: Josh Blum
Date: Sun, 5 May 2013 18:31:52 -0700
Subject: query: added bytes copied stat

---
 lib/gras_impl/input_buffer_queues.hpp | 3 +++
 1 file changed, 3 insertions(+)

(limited to 'lib/gras_impl/input_buffer_queues.hpp')

diff --git a/lib/gras_impl/input_buffer_queues.hpp b/lib/gras_impl/input_buffer_queues.hpp
index e45bc06..f9ae3a2 100644
--- a/lib/gras_impl/input_buffer_queues.hpp
+++ b/lib/gras_impl/input_buffer_queues.hpp
@@ -165,6 +165,7 @@ struct InputBufferQueues
     std::vector<boost::circular_buffer<SBuffer> > _queues;
     std::vector<size_t> _preload_bytes;
     std::vector<boost::shared_ptr<SimpleBufferQueue> > _aux_queues;
+    std::vector<item_index_t> bytes_copied;
 };
 
 
@@ -178,6 +179,7 @@ GRAS_FORCE_INLINE void InputBufferQueues::resize(const size_t size)
     _preload_bytes.resize(size, 0);
     _reserve_bytes.resize(size, 1);
     _maximum_bytes.resize(size, MAX_AUX_BUFF_BYTES);
+    bytes_copied.resize(size);
 }
 
 inline void InputBufferQueues::update_config(
@@ -254,6 +256,7 @@ GRAS_FORCE_INLINE void InputBufferQueues::accumulate(const size_t i)
         SBuffer &front = _queues[i].front();
         const size_t bytes = std::min(front.length, free_bytes);
         std::memcpy(accum_buff.get(accum_buff.length), front.get(), bytes);
+        bytes_copied[i] += bytes;
         //std::cerr << "memcpy " << bytes << std::endl;
         accum_buff.length += bytes;
         free_bytes -= bytes;
-- 
cgit