summaryrefslogtreecommitdiff
path: root/lib/gras_impl
diff options
context:
space:
mode:
authorJosh Blum2013-01-31 21:47:30 -0800
committerJosh Blum2013-01-31 21:47:30 -0800
commit3966ed72ba0aa187c0065efc15c3cb9fe0020447 (patch)
tree03109f7ab07c511671e07f174c2bb9fb383489d9 /lib/gras_impl
parent8a624ecbe5a0e5ec720a2bc02baa1b2a93a47790 (diff)
downloadsandhi-3966ed72ba0aa187c0065efc15c3cb9fe0020447.tar.gz
sandhi-3966ed72ba0aa187c0065efc15c3cb9fe0020447.tar.bz2
sandhi-3966ed72ba0aa187c0065efc15c3cb9fe0020447.zip
gras: simplify task kicker into a reusable call
Diffstat (limited to 'lib/gras_impl')
-rw-r--r--lib/gras_impl/block_actor.hpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/lib/gras_impl/block_actor.hpp b/lib/gras_impl/block_actor.hpp
index 24143a1..7e9dd6b 100644
--- a/lib/gras_impl/block_actor.hpp
+++ b/lib/gras_impl/block_actor.hpp
@@ -98,6 +98,11 @@ struct BlockActor : Apology::Worker
void flush_output(const size_t index);
bool is_work_allowed(void);
+ GRAS_FORCE_INLINE void task_kicker(void)
+ {
+ if (this->is_work_allowed()) this->TailSend(SelfKickMessage(), this->GetAddress());
+ }
+
GRAS_FORCE_INLINE bool is_input_done(const size_t i)
{
const bool available = this->input_queues.ready(i) and not this->input_queues.empty(i);