Class Reaction
Defined in File reaction.hh
Inheritance Relationships
Base Type
public reactor::ReactorElement(Class ReactorElement)
Class Documentation
-
class Reaction : public reactor::ReactorElement
Public Functions
-
Reaction(const std::string &name, int priority, Reactor *container, std::function<void(void)> body)
-
~Reaction() override = default
-
void declare_trigger(BaseAction *action)
-
void declare_schedulable_action(BaseAction *action)
-
inline auto action_triggers() const noexcept -> const auto&
-
inline auto port_triggers() const noexcept -> const auto&
-
inline auto antidependencies() const noexcept -> const auto&
-
inline auto dependencies() const noexcept -> const auto&
-
inline auto scheduable_actions() const noexcept -> const auto&
-
inline auto priority() const noexcept -> int
-
inline virtual void startup() final
-
inline virtual void shutdown() final
-
void trigger()
-
void set_index(unsigned index)
-
template<class Dur>
inline void set_deadline(Dur deadline, const std::function<void(void)> &handler)
-
inline auto has_deadline() const noexcept -> bool
-
inline auto index() const noexcept -> unsigned int
Private Functions
Private Members
-
std::set<BaseAction*> action_triggers_
-
std::set<BaseAction*> scheduable_actions_
-
const int priority_
-
unsigned int index_ = {}
-
std::function<void(void)> body_ = {nullptr}
-
std::function<void(void)> deadline_handler_ = {nullptr}
-
Reaction(const std::string &name, int priority, Reactor *container, std::function<void(void)> body)