summaryrefslogtreecommitdiff
path: root/lib/gras_impl
diff options
context:
space:
mode:
Diffstat (limited to 'lib/gras_impl')
-rw-r--r--lib/gras_impl/input_buffer_queues.hpp11
-rw-r--r--lib/gras_impl/stats.hpp6
2 files changed, 11 insertions, 6 deletions
diff --git a/lib/gras_impl/input_buffer_queues.hpp b/lib/gras_impl/input_buffer_queues.hpp
index 6886e6e..48996ef 100644
--- a/lib/gras_impl/input_buffer_queues.hpp
+++ b/lib/gras_impl/input_buffer_queues.hpp
@@ -105,12 +105,6 @@ struct InputBufferQueues
void push(const size_t i, const SBuffer &buffer);
- GRAS_FORCE_INLINE void flush(const size_t i)
- {
- _queues[i].clear();
- _bitset.reset(i);
- }
-
GRAS_FORCE_INLINE void fail(const size_t i)
{
_bitset.reset(i);
@@ -148,6 +142,11 @@ struct InputBufferQueues
_bitset.set(i, _enqueued_bytes[i] >= _reserve_bytes[i]);
}
+ GRAS_FORCE_INLINE size_t get_items_enqueued(const size_t i)
+ {
+ return _enqueued_bytes[i]/_items_sizes[i];
+ }
+
BitSet _bitset;
std::vector<size_t> _items_sizes;
std::vector<size_t> _enqueued_bytes;
diff --git a/lib/gras_impl/stats.hpp b/lib/gras_impl/stats.hpp
index 3f78b8d..7edab29 100644
--- a/lib/gras_impl/stats.hpp
+++ b/lib/gras_impl/stats.hpp
@@ -29,6 +29,7 @@ struct BlockStats
time_ticks_t start_time;
time_ticks_t stop_time;
+ //overall tracking of ports
std::vector<item_index_t> items_consumed;
std::vector<item_index_t> tags_consumed;
std::vector<item_index_t> msgs_consumed;
@@ -36,6 +37,11 @@ struct BlockStats
std::vector<item_index_t> tags_produced;
std::vector<item_index_t> msgs_produced;
+ //instantaneous port status
+ std::vector<size_t> items_enqueued;
+ std::vector<size_t> msgs_enqueued;
+ std::vector<size_t> tags_enqueued;
+
item_index_t work_count;
time_ticks_t time_last_work;
time_ticks_t total_time_prep;