QK/C++ (preemptive non-blocking kernel) platform-independent public interface. More...
Go to the source code of this file.
Classes | |
class | QK_Attr |
Private attributes of the QK kernel. More... | |
Namespaces | |
namespace | QP |
QP/C++ framework. | |
namespace | QP::QK |
preemptive, non-blocking kernel | |
Macros | |
#define | QF_SCHED_STAT_ QSchedStatus lockStat_; |
#define | QF_SCHED_LOCK_(ceil_) |
#define | QF_SCHED_UNLOCK_() |
#define | QACTIVE_EQUEUE_WAIT_(me_) |
#define | QACTIVE_EQUEUE_SIGNAL_(me_) |
#define | QF_EPOOL_TYPE_ QMPool |
#define | QF_EPOOL_INIT_(p_, poolSto_, poolSize_, evtSize_) |
#define | QF_EPOOL_EVENT_SIZE_(p_) |
#define | QF_EPOOL_GET_(p_, e_, m_, qsId_) |
#define | QF_EPOOL_PUT_(p_, e_, qsId_) |
Typedefs | |
using | QP::QSchedStatus = std::uint_fast8_t |
Functions | |
QSchedStatus | QP::QK::schedLock (std::uint_fast8_t const ceiling) noexcept |
void | QP::QK::schedUnlock (QSchedStatus const prevCeil) noexcept |
void | QP::QK::onIdle () |
std::uint_fast8_t | QK_sched_ () noexcept |
void | QK_activate_ () noexcept |
Variables | |
QK_Attr | QK_priv_ |
QK/C++ (preemptive non-blocking kernel) platform-independent public interface.
Backward Traceability
Definition in file qk.hpp.
#define QF_SCHED_LOCK_ | ( | ceil_ | ) |
#define QF_SCHED_UNLOCK_ | ( | ) |
#define QACTIVE_EQUEUE_WAIT_ | ( | me_ | ) |
#define QACTIVE_EQUEUE_SIGNAL_ | ( | me_ | ) |
#define QF_EPOOL_INIT_ | ( | p_, | |
poolSto_, | |||
poolSize_, | |||
evtSize_ ) |
#define QF_EPOOL_EVENT_SIZE_ | ( | p_ | ) |
#define QF_EPOOL_GET_ | ( | p_, | |
e_, | |||
m_, | |||
qsId_ ) |
#define QF_EPOOL_PUT_ | ( | p_, | |
e_, | |||
qsId_ ) |
|
noexcept |
QK scheduler finds the highest-priority AO ready to run
The QK scheduler finds out the priority of the highest-priority AO that (1) has events to process and (2) has priority that is above the current priority.
qk:400
|
noexcept |
QK activator activates the next active object. The activated AO preempts the currently executing AOs.
QK_activate_() activates ready-to run AOs that are above the initial preemption-threshold.
qk:500