Priority Set of up to 64 elements for building various schedulers, but also useful as a general set of up to 64 elements of any kind. More...
#include <qpset.h>
Public Member Functions | |
| uint8_t | hasElement (uint8_t n) volatile |
| the function evaluates to TRUE if the priority set has the element n. | |
| void | insert (uint8_t n) volatile |
| insert element n into the set, n = 1..64 | |
| void | remove (uint8_t n) volatile |
| remove element n from the set, n = 1..64 | |
| uint8_t | findMax (void) volatile |
| find the maximum element in the set, | |
Priority Set of up to 64 elements for building various schedulers, but also useful as a general set of up to 64 elements of any kind.
The priority set represents the set of active objects that are ready to run and need to be considered by scheduling processing. The set is capable of storing up to 64 priority levels.
The priority set allows to build cooperative multitasking schedulers to manage up to 64 tasks. It is also used in the Quantum Kernel (QK) preemptive scheduler.
The inherited 8-bit set is used as the 8-elemtn set of of 8-bit subsets Each bit in the super.bits set represents a subset (8-elements) as follows:
bit 0 in this->m_bits is 1 when subset[0] is not empty
bit 1 in this->m_bits is 1 when subset[1] is not empty
bit 2 in this->m_bits is 1 when subset[2] is not empty
bit 3 in this->m_bits is 1 when subset[3] is not empty
bit 4 in this->m_bits is 1 when subset[4] is not empty
bit 5 in this->m_bits is 1 when subset[5] is not empty
bit 6 in this->m_bits is 1 when subset[6] is not empty
bit 7 in this->m_bits is 1 when subset[7] is not empty
Definition at line 119 of file qpset.h.
| uint8_t QPSet64::findMax | ( | void | ) | volatile [inline] |
find the maximum element in the set,
Reimplemented from QPSet8.
Definition at line 157 of file qpset.h.
References QPSet8::m_bits, Q_ROM_BYTE, and QF_log2Lkup.
Referenced by QF::run().
1.6.3