![]() |
CommRaT 2.0.0
C++20 Real-Time Messaging Framework
|
Loop execution logic for Module data threads. More...
#include <commrat/module/lifecycle/loop_executor.hpp>
Public Member Functions | |
| void | periodic_loop () |
| Periodic loop - time-driven data generation. | |
| void | free_loop () |
| Free loop - maximum throughput data generation. | |
| void | continuous_loop () |
| Continuous loop - event-driven single input processing. | |
| void | multi_input_loop () |
| Multi-input loop - synchronized multi-input processing. | |
Protected Member Functions | |
| ModuleType & | module () |
| const ModuleType & | module () const |
Loop execution logic for Module data threads.
This class provides loop implementations as a mixin base class. Module inherits from LoopExecutor to get loop methods.
Template parameters match Module's parameters for access to:
Definition at line 38 of file loop_executor.hpp.
|
inline |
Continuous loop - event-driven single input processing.
Blocks on data mailbox, processes each received message. Phase 6.10: Uses input timestamp from header (data validity time).
Used for: Input<T> modules (single continuous input)
Definition at line 142 of file loop_executor.hpp.
References commrat::LoopExecutor< ModuleType >::module().
|
inline |
Free loop - maximum throughput data generation.
Generates output as fast as possible without delays. Phase 6.10: Captures timestamp at generation moment.
Used for: LoopInput modules
Definition at line 104 of file loop_executor.hpp.
References commrat::LoopExecutor< ModuleType >::module(), and commrat::Time::now().
|
inlineprotected |
|
inlineprotected |
Definition at line 41 of file loop_executor.hpp.
|
inline |
Multi-input loop - synchronized multi-input processing.
Blocks on primary input, synchronizes secondary inputs via getData(), processes all inputs together. Phase 6.10: Uses primary input timestamp as synchronization point.
Used for: Inputs<T, U, V> modules with PrimaryInput<T> specified
Definition at line 175 of file loop_executor.hpp.
References commrat::LoopExecutor< ModuleType >::module().
|
inline |
Periodic loop - time-driven data generation.
Generates output at fixed intervals (config_.period). Phase 6.10: Captures timestamp at generation moment.
Used for: PeriodicInput modules
Definition at line 52 of file loop_executor.hpp.
References commrat::LoopExecutor< ModuleType >::module(), and commrat::Time::now().