The Quantum Class. Static-class used to implement Thread quantum functionality, which is fundamental to round-robin thread scheduling.
More...
#include <quantum.h>
|
static void | Init () |
|
static void | SetInTimer () |
| SetInTimer Set a flag to indicate that the CPU is currently running within the timer-callback routine. This prevents the Quantum timer from being updated in the middle of a callback cycle, potentially resulting in the kernel timer becoming disabled. More...
|
|
static void | ClearInTimer () |
| ClearInTimer Clear the flag once the timer callback function has been completed. More...
|
|
static void | Update (Thread *pclTargetThread_) |
| Update Update the current thread being tracked for round-robing scheduling. Note - this has no effect if called from the Timer thread, or if the Timer thread is active. More...
|
|
static void | SetTimerThread (Thread *pclTimerThread_) |
| SetTimerThread Pass the timer thread's Thread pointer to the Quantum module to track against requests to update the round-robin timer. More...
|
|
static void | Cancel () |
|
The Quantum Class. Static-class used to implement Thread quantum functionality, which is fundamental to round-robin thread scheduling.
Definition at line 42 of file quantum.h.
◆ Cancel()
static void Mark3::Quantum::Cancel |
( |
| ) |
|
|
static |
Cancel the round-robin timer.
◆ ClearInTimer()
static void Mark3::Quantum::ClearInTimer |
( |
| ) |
|
|
static |
ClearInTimer Clear the flag once the timer callback function has been completed.
◆ Init()
static void Mark3::Quantum::Init |
( |
| ) |
|
|
static |
◆ SetInTimer()
static void Mark3::Quantum::SetInTimer |
( |
| ) |
|
|
static |
SetInTimer Set a flag to indicate that the CPU is currently running within the timer-callback routine. This prevents the Quantum timer from being updated in the middle of a callback cycle, potentially resulting in the kernel timer becoming disabled.
◆ SetTimerThread()
static void Mark3::Quantum::SetTimerThread |
( |
Thread * |
pclTimerThread_ | ) |
|
|
inlinestatic |
SetTimerThread Pass the timer thread's Thread pointer to the Quantum module to track against requests to update the round-robin timer.
- Parameters
-
pclTimerThread_ | Pointer to the Timer thread's Thread object. |
Definition at line 79 of file quantum.h.
◆ Update()
static void Mark3::Quantum::Update |
( |
Thread * |
pclTargetThread_ | ) |
|
|
static |
Update Update the current thread being tracked for round-robing scheduling. Note - this has no effect if called from the Timer thread, or if the Timer thread is active.
- Parameters
-
pclTargetThread_ | New thread to track. |
◆ m_bInTimer
bool Mark3::Quantum::m_bInTimer |
|
staticprivate |
◆ m_pclActiveThread
Thread* Mark3::Quantum::m_pclActiveThread |
|
staticprivate |
◆ m_pclTimerThread
Thread* Mark3::Quantum::m_pclTimerThread |
|
staticprivate |
◆ m_u16TicksRemain
uint16_t Mark3::Quantum::m_u16TicksRemain |
|
staticprivate |
The documentation for this class was generated from the following file:
- /mnt/c/Users/moslevin/m3-repo2/kernel/src/public/quantum.h