diff options
author | Josh Blum | 2013-07-15 23:51:59 -0700 |
---|---|---|
committer | Josh Blum | 2013-07-15 23:51:59 -0700 |
commit | 6d07c50dafbe38049dbede7241e9e66eea0a699e (patch) | |
tree | 444d46efa7526a6ca0bebb4be95f878fc4f13d50 /lib/gras_impl | |
parent | 6f9ab7732da5731ee0db59d9623111b7af9b2e94 (diff) | |
download | sandhi-6d07c50dafbe38049dbede7241e9e66eea0a699e.tar.gz sandhi-6d07c50dafbe38049dbede7241e9e66eea0a699e.tar.bz2 sandhi-6d07c50dafbe38049dbede7241e9e66eea0a699e.zip |
gras: make all start/commit messages high-prio
This makes doing live topology changes w/ commit
instant, even if much buffering is backed up.
Diffstat (limited to 'lib/gras_impl')
-rw-r--r-- | lib/gras_impl/block_actor.hpp | 4 | ||||
-rw-r--r-- | lib/gras_impl/messages.hpp | 26 |
2 files changed, 21 insertions, 9 deletions
diff --git a/lib/gras_impl/block_actor.hpp b/lib/gras_impl/block_actor.hpp index cfbc2c0..a64dc55 100644 --- a/lib/gras_impl/block_actor.hpp +++ b/lib/gras_impl/block_actor.hpp @@ -64,8 +64,8 @@ struct BlockActor : Theron::Actor void handle_top_active(const TopActiveMessage &, const Theron::Address); void handle_top_inert(const TopInertMessage &, const Theron::Address); void handle_top_token(const TopTokenMessage &, const Theron::Address); - void handle_top_config(const GlobalBlockConfig &, const Theron::Address); - void handle_top_thread_group(const SharedThreadGroup &, const Theron::Address); + void handle_top_config(const TopConfigMessage &, const Theron::Address); + void handle_top_thread_group(const TopThreadMessage &, const Theron::Address); void handle_input_tag(const InputTagMessage &, const Theron::Address); void handle_input_msg(const InputMsgMessage &, const Theron::Address); diff --git a/lib/gras_impl/messages.hpp b/lib/gras_impl/messages.hpp index 4294ab8..263fd5d 100644 --- a/lib/gras_impl/messages.hpp +++ b/lib/gras_impl/messages.hpp @@ -9,6 +9,8 @@ #include <gras/sbuffer.hpp> #include <gras_impl/token.hpp> #include <gras_impl/stats.hpp> +#include <gras/block_config.hpp> +#include <gras_impl/interruptible_thread.hpp> namespace gras { @@ -20,12 +22,12 @@ namespace gras struct TopAllocMessage { - //empty + Token prio_token; }; struct TopActiveMessage { - //empty + Token prio_token; }; struct TopInertMessage @@ -36,6 +38,19 @@ struct TopInertMessage struct TopTokenMessage { Token token; + Token prio_token; +}; + +struct TopConfigMessage +{ + GlobalBlockConfig config; + Token prio_token; +}; + +struct TopThreadMessage +{ + SharedThreadGroup thread_group; + Token prio_token; }; //---------------------------------------------------------------------- @@ -156,16 +171,13 @@ struct GetStatsMessage } //namespace gras #include <Theron/Register.h> -#include <gras/top_block.hpp> -#include <gras_impl/messages.hpp> -#include <gras_impl/interruptible_thread.hpp> THERON_DECLARE_REGISTERED_MESSAGE(gras::TopAllocMessage); THERON_DECLARE_REGISTERED_MESSAGE(gras::TopActiveMessage); THERON_DECLARE_REGISTERED_MESSAGE(gras::TopInertMessage); THERON_DECLARE_REGISTERED_MESSAGE(gras::TopTokenMessage); -THERON_DECLARE_REGISTERED_MESSAGE(gras::GlobalBlockConfig); -THERON_DECLARE_REGISTERED_MESSAGE(gras::SharedThreadGroup); +THERON_DECLARE_REGISTERED_MESSAGE(gras::TopConfigMessage); +THERON_DECLARE_REGISTERED_MESSAGE(gras::TopThreadMessage); THERON_DECLARE_REGISTERED_MESSAGE(gras::InputTagMessage); THERON_DECLARE_REGISTERED_MESSAGE(gras::InputMsgMessage); |