Serval_Scheduler.h File Reference

An interface to the platform scheduler. More...

#include <Serval_Callable.h>
#include <Serval_Types.h>
+ Include dependency graph for Serval_Scheduler.h:
+ This graph shows which files directly or indirectly include this file:


retcode_t Scheduler_enqueue (Callable_T *callable_ptr, retcode_t status)

Detailed Description

This module provides the interface to a platform specific scheduling queue. This should not be confused by the main scheduler of the RTOS which manages the concurrent processes. The platform is expected to provide a queue for tasks, which are basically functions waiting for invocation. This mechanism is used to enable the Serval stack to perform multi-tasking without creating multiple threads. Many of the processing steps of the stack are implemented as Callable_T objects, which can be enqueued to be processed once the application gets time for this.

Function Documentation

retcode_t Scheduler_enqueue ( Callable_T callable_ptr,
retcode_t  status 

This function is called to schedule a given task. On success, stack expects that the enqueued callable will be invoked with the given status.

[in]callable_ptrReference to a Callable_T object be scheduled. It has to be a valid pointer.
[in]statusThe status which will be passed to the callable when it is invoked.
On success, RC_OK is returned. RC_SCHED_FULL if the scheduling queue is full.

+ Here is the caller graph for this function:

This documentation file has been automatically generated on Wed May 6 2020 20:45:14 by doxygen 1.8.8