summaryrefslogtreecommitdiff
path: root/lib/gras_impl/block_actor.hpp
diff options
context:
space:
mode:
authorJosh Blum2012-11-24 20:38:13 -0800
committerJosh Blum2012-11-24 20:38:13 -0800
commitc5162cd3e2f21888b82ec6d4231ccef1d4b39e30 (patch)
treee3130c01c56c0ecbfa9fe0b912fa7be05dad6f3f /lib/gras_impl/block_actor.hpp
parenta99591259c22f471fc2dffe137f039bdff7d0ebf (diff)
downloadsandhi-c5162cd3e2f21888b82ec6d4231ccef1d4b39e30.tar.gz
sandhi-c5162cd3e2f21888b82ec6d4231ccef1d4b39e30.tar.bz2
sandhi-c5162cd3e2f21888b82ec6d4231ccef1d4b39e30.zip
created common function is_work_allowed and input check
at least one port needs a tag or an item, this helps the reserve items == 0 case
Diffstat (limited to 'lib/gras_impl/block_actor.hpp')
-rw-r--r--lib/gras_impl/block_actor.hpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/lib/gras_impl/block_actor.hpp b/lib/gras_impl/block_actor.hpp
index e44fbe6..d204ec4 100644
--- a/lib/gras_impl/block_actor.hpp
+++ b/lib/gras_impl/block_actor.hpp
@@ -94,6 +94,7 @@ struct BlockActor : Apology::Worker
void consume(const size_t index, const size_t items);
void produce_buffer(const size_t index, const SBuffer &buffer);
void flush_output(const size_t index, const bool force_pop = false);
+ bool is_work_allowed(void);
GRAS_FORCE_INLINE bool is_input_done(const size_t i)
{
@@ -126,6 +127,7 @@ struct BlockActor : Apology::Worker
//buffer queues and ready conditions
InputBufferQueues input_queues;
OutputBufferQueues<SBuffer> output_queues;
+ BitSet inputs_available;
//tag tracking
std::vector<bool> input_tags_changed;