29 #if PORT_COROUTINE_PRIORITIES <= (PORT_PRIO_MAP_WORD_SIZE * 8u) 56 void*
operator new(
size_t sz,
void* pv) {
return reinterpret_cast<Coroutine*
>(pv); }
The CoList class The CoList class implements a circular-linked-listed structure for coroutine objects...
CoroutineHandler m_pfHandler
PORT_PRIO_TYPE m_uPriority
#define PORT_PRIO_TYPE
Type used for bitmap in the PriorityMap class.
void Activate()
Activate Tag the co-routine as pending execution. Has no effect if the co-routine is already pending ...
Mark3 Kernel Configuration This file is used to configure the kernel for your specific application in...
2-Level priority allocator template-class used for scheduler implementation
The PriorityMapL2 class This class implements a priority bitmap data structure. Each bit in the objec...
void SetPriority(PORT_PRIO_TYPE uPriority_)
SetPriority Update the scheduling priority of the co-routine. Can be called from within the co-routin...
void(*)(Coroutine *pclCaller_, void *pvContext_) CoroutineHandler
PORT_PRIO_TYPE GetPriority()
GetPriority Retrieve the current scheduling priority of the co-routine.
The Coroutine class implements a lightweight, run-to-completion task that forms the basis for co-oper...
The PriorityMapL1 class This class implements a priority bitmap data structure. Each bit in the objec...
void Run()
Run Clear the co-routine's pending execution flag, and execute the coroutine's handler function...
1-Level bitmap allocator template-class used for scheduler implementation
void Init(PORT_PRIO_TYPE uPriority_, CoroutineHandler pfHandler_, void *pvContext_)
Init Initialize the coroutine object prior to use. Must be called before using the other methods in t...
The TypedLinkListNode class The TypedLinkListNode class provides a linked-list node type for a specif...
Core linked-list declarations, used by all kernel list types At the heart of RTOS data structures are...