A reactor element for receiving events from external sources. More...
#include <xronos/sdk/physical_event.hh>
Public Member Functions | |
PhysicalEvent (std::string_view name, ReactorContext context) | |
Constructor. | |
void | trigger () noexcept |
Emit a new event without an associated value and trigger reactions. | |
Public Member Functions inherited from xronos::sdk::Element | |
auto | name () const noexcept -> const std::string & |
Get the element's name. | |
auto | fqn () const noexcept -> const std::string & |
Get the element's fully qualified name. | |
auto | add_attribute (std::string_view key, const AttributeValue &value) noexcept -> bool |
Annotate an element with an attribute. | |
template<std::ranges::input_range R> requires requires(std::ranges::range_value_t<R> pair) { { pair.first } -> std::convertible_to<std::string_view>; { pair.second } -> std::convertible_to<AttributeValue>; } | |
auto | add_attributes (const R &range) noexcept -> bool |
Annotate an element with multiple attributes. | |
auto | add_attributes (std::initializer_list< std::pair< std::string_view, AttributeValue > > attributes) -> bool |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
virtual | ~Element ()=default |
Virtual destructor. |
A reactor element for receiving events from external sources.
Physical events may be used to trigger reactions from a context outside of the scope of the reactor program. These could be external event handlers that respond to sensor inputs.
Can be used as a reaction trigger.
This is a template specialization of EventSource for events without an associated value.
xronos::sdk::PhysicalEvent< void >::PhysicalEvent | ( | std::string_view | name, |
ReactorContext | context ) |
Constructor.
name | The name of the physical event. |
context | The containing reactor's context. |
|
noexcept |
Emit a new event without an associated value and trigger reactions.
The event will be assigned a timestamp equal to the current wall-clock time.