Mark3 Realtime Kernel
Mark3::CoList Class Reference

The CoList class The CoList class implements a circular-linked-listed structure for coroutine objects. The intent of this object is to maintain a list of active coroutine objects with a specific priority or state, to ensure that a freshly-schedulable co-routine always exists at the head of the list. More...

#include <colist.h>

Inheritance diagram for Mark3::CoList:
Mark3::TypedCircularLinkList< Coroutine > Mark3::CircularLinkList Mark3::LinkList

Public Member Functions

void SetPrioMap (CoPrioMap *pclPrioMap_)
 SetPrioMap Assign a priority map object to this co-routine list. More...
 
void SetPriority (PORT_PRIO_TYPE uPriority_)
 SetPriority Set the scheduling priority of this coroutine liss; has no effect unless a SetPrioMap has been called with a valid coroutine priority map object. More...
 
void Add (Coroutine *pclCoroutine_)
 Add Add a coroutine object to this list. More...
 
void Remove (Coroutine *pclCoroutine_)
 Remove Remove a given coroutine object from this list. More...
 

Private Attributes

CoPrioMapm_pclPrioMap
 
uint8_t m_uPriority
 

Additional Inherited Members

Detailed Description

The CoList class The CoList class implements a circular-linked-listed structure for coroutine objects. The intent of this object is to maintain a list of active coroutine objects with a specific priority or state, to ensure that a freshly-schedulable co-routine always exists at the head of the list.

Definition at line 35 of file colist.h.

Member Function Documentation

◆ Add()

void Mark3::CoList::Add ( Coroutine pclCoroutine_)

Add Add a coroutine object to this list.

Parameters
pclCoroutine_Pointer to the coroutine object to add

Definition at line 36 of file colist.cpp.

◆ Remove()

void Mark3::CoList::Remove ( Coroutine pclCoroutine_)

Remove Remove a given coroutine object from this list.

Parameters
pclCoroutine_Pointer to the coroutine object to remove

Definition at line 46 of file colist.cpp.

◆ SetPrioMap()

void Mark3::CoList::SetPrioMap ( CoPrioMap pclPrioMap_)

SetPrioMap Assign a priority map object to this co-routine list.

Parameters
pclPrioMap_priority map object to assign

Definition at line 24 of file colist.cpp.

◆ SetPriority()

void Mark3::CoList::SetPriority ( PORT_PRIO_TYPE  uPriority_)

SetPriority Set the scheduling priority of this coroutine liss; has no effect unless a SetPrioMap has been called with a valid coroutine priority map object.

Parameters
uPriority_Priority of coroutines associated with this list

Definition at line 30 of file colist.cpp.

Member Data Documentation

◆ m_pclPrioMap

CoPrioMap* Mark3::CoList::m_pclPrioMap
private

Definition at line 73 of file colist.h.

◆ m_uPriority

uint8_t Mark3::CoList::m_uPriority
private

Definition at line 74 of file colist.h.


The documentation for this class was generated from the following files: