|
ADTF
|
In order to provide an abstraction layer between the operating system and ADTF Components, ADTF provides a so called Kernel Service.
This Service provides methods for thread, timer and signal handling in a universal manner.
The added layer allows fine-grained control of the different scheduling and timing settings used in all ADTF components at a single point, enabling the user to change these settings at run-time and configuration-time in contrast to hardcoded settings during compile-time.
C++ you are able to do this with the std::thread, but the Kernel Service enables the possibility to access every running component within the current process. The trigger concept of ADTF eliminates the need for common filter developers to use this functionality directly, as thread and timer definitions are handled via the ADTF Graph defintion.
For developing ADTF System components (services, I/O Components, ...) the functionality is available via the adtf::services::IKernel interface, but developers are encouraged to use the adtf::system::kernel_thread template class that is a drop-in replacement for the std::thread template and the adtf::system::kernel_timer template class.