diff options
author | Josh Blum | 2012-11-24 20:38:13 -0800 |
---|---|---|
committer | Josh Blum | 2012-11-24 20:38:13 -0800 |
commit | c5162cd3e2f21888b82ec6d4231ccef1d4b39e30 (patch) | |
tree | e3130c01c56c0ecbfa9fe0b912fa7be05dad6f3f /lib/gras_impl/block_actor.hpp | |
parent | a99591259c22f471fc2dffe137f039bdff7d0ebf (diff) | |
download | sandhi-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.hpp | 2 |
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; |