ESST (Component (subclass of Toddler) (component anatomy (Singleton…
(subclass of Toddler)
exposes all elib_config ConfigValues to the other components
exposes instances of "Command" to the other components; this is the main way to interface with this component from the outside
Exposes commands to the outside world
Only pure functions with basic typed parameters
Internally, the commands use Signals to pass the actual request to the component loop or object
Validation of commands using one of the 3rd party lib
exposes the status of different internal variables of the component
all status operations must be thread safe (read & write)
Inherits from a global parent "Status" class that handles members set/get and logging of status
The runner is reponsible for starting the component.
yield to main event loop
execute component business logic
listen for events
Singleton object inside a module?
Initialization happens in steps, where each component is individually started, then states are collected
Components depending on another component to start simply state so, and the main init function arranges the starting order
A thin layer above blinker & blinker_herald
Messages are passed as signals
A "subscribe" function is given a signal (as well as specific parameters about the sender if needed) as well as the callback for that signal
All signals parameters are "Message"s. All messages subclass a base Message class, that define a basic data-structure for internal messages.
(ABC for component)
Configuration file location ?
Add a link to ESSt local folder in the start menu using NSIST