37 #include "qs_dummy.hpp"
42Q_DEFINE_THIS_MODULE(
"qf_defer")
50 QEvt const *
const e)
const noexcept
53 bool const status = eq->post(e, 0U,
m_prio);
84 bool recalled =
false;
137 std::uint_fast16_t
const num)
const noexcept
139 std::uint16_t n = 0U;
144#if (QF_MAX_EPOOL > 0U)
bool defer(QEQueue *const eq, QEvt const *const e) const noexcept
Defer an event to a given separate event queue.
std::uint16_t flushDeferred(QEQueue *const eq, std::uint_fast16_t const num=0xFFFFU) const noexcept
Flush the specified deferred queue eq.
void postLIFO(QEvt const *const e) noexcept
Posts an event e directly to the event queue of the active object using the Last-In-First-Out (LIFO) ...
bool recall(QEQueue *const eq) noexcept
Recall a deferred event from a given event queue.
std::uint8_t m_prio
QF-priority [1..QF_MAX_ACTIVE] of this AO.
std::uint32_t poolNum_
Event pool number of this event.
std::uint32_t refCtr_
Event reference counter.
std::uint32_t sig
Signal of the event (see Event Signal).
void gc(QEvt const *const e) noexcept
Recycle a mutable (mutable) event.
QP/C++ Framework namespace.
@ QS_QF_ACTIVE_RECALL
AO recalled an event.
@ QS_QF_ACTIVE_RECALL_ATTEMPT
AO attempted to recall an event.
@ QS_QF_ACTIVE_DEFER_ATTEMPT
AO attempted to defer an event.
@ QS_QF_ACTIVE_DEFER
AO deferred an event.
void QEvt_refCtr_dec_(QEvt const *const me) noexcept
Internal function to decrement the refCtr of a const event.
QP Framework in C++ internal (package-scope) interface
#define QS_CRIT_STAT
Internal QS macro for defining the critical section status.
#define QS_CRIT_EXIT()
Internal macro for exiting a critical section.
#define QS_CRIT_ENTRY()
Internal macro for entering a critical section.
QS (QP/Spy software tracing) internal (package-scope) interface.
#define QS_OBJ_PRE(obj_)
Output pre-formatted object pointer element.
#define QS_SIG_PRE(sig_)
Output pre-formatted event signal data element.
#define QS_2U8_PRE(data1_, data2_)
Output two pre-formatted unsigned 8-bit integer data elements.
#define QS_END_PRE()
Pre-formatted QS trace record end.
#define QS_BEGIN_PRE(rec_, qsId_)
Pre-formatted QS trace record begin.
QP Functional Safety (FuSa) Subsystem.
#define Q_ASSERT_INCRIT(id_, expr_)
General-purpose assertion with user-specified ID number (in critical section).