ADTF
Loading...
Searching...
No Matches
Kernel Handling

Table of Contents

Motivation

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.

Note
Usually with modern 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.
We keep control!

Usage

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.

Warning
As a matter of fact, the use of this API or any other threading API in filters is strongly discouraged!

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.