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_) (static_cast<void>(0)) |
#define | QACTIVE_EQUEUE_SIGNAL_(me_) |
#define | QF_EPOOL_TYPE_ QMPool |
#define | QF_EPOOL_INIT_(p_, poolSto_, poolSize_, evtSize_) (p_).init((poolSto_), (poolSize_), (evtSize_)) |
#define | QF_EPOOL_EVENT_SIZE_(p_) ((p_).getBlockSize()) |
#define | QF_EPOOL_GET_(p_, e_, m_, qsId_) ((e_) = static_cast<QEvt *>((p_).get((m_), (qsId_)))) |
#define | QF_EPOOL_PUT_(p_, e_, qsId_) ((p_).put((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_SIGNAL_ | ( | me_ | ) |
#define QF_EPOOL_INIT_ | ( | p_, | |
poolSto_, | |||
poolSize_, | |||
evtSize_ ) (p_).init((poolSto_), (poolSize_), (evtSize_)) |
#define QF_EPOOL_GET_ | ( | p_, | |
e_, | |||
m_, | |||
qsId_ ) ((e_) = static_cast<QEvt *>((p_).get((m_), (qsId_)))) |
#define QF_EPOOL_PUT_ | ( | p_, | |
e_, | |||
qsId_ ) ((p_).put((e_), (qsId_))) |
|
noexcept |
QK scheduler finds the highest-priority AO ready to run
qk:400
|
noexcept |
QK activator activates the next active object. The activated AO preempts the currently executing AOs.
qk:500