|
Mark3 Realtime Kernel
|
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>
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... | |
Public Member Functions inherited from Mark3::TypedCircularLinkList< Coroutine > | |
| void * | operator new (size_t sz, void *pv) |
| TypedCircularLinkList () | |
| Coroutine * | GetHead () |
| GetHead Get the head node in the linked list. More... | |
| void | SetHead (Coroutine *pclNode_) |
| SetHead Set the head node of a linked list. More... | |
| Coroutine * | GetTail () |
| GetTail Get the tail node of the linked list. More... | |
| void | SetTail (Coroutine *pclNode_) |
| SetTail Set the tail node of the linked list. More... | |
| void | Add (Coroutine *pNode_) |
| Add the linked list node to this linked list. More... | |
| void | Remove (Coroutine *pNode_) |
| Remove Add the linked list node to this linked list. More... | |
| void | InsertNodeBefore (Coroutine *pNode_, Coroutine *pInsert_) |
| InsertNodeBefore Insert a linked-list node into the list before the specified insertion point. More... | |
Public Member Functions inherited from Mark3::CircularLinkList | |
| void * | operator new (size_t sz, void *pv) |
| CircularLinkList () | |
| void | Add (LinkListNode *node_) |
| Add the linked list node to this linked list. More... | |
| void | Remove (LinkListNode *node_) |
| Remove Add the linked list node to this linked list. More... | |
| void | PivotForward () |
| PivotForward Pivot the head of the circularly linked list forward ( Head = Head->next, Tail = Tail->next ) More... | |
| void | PivotBackward () |
| PivotBackward Pivot the head of the circularly linked list backward ( Head = Head->prev, Tail = Tail->prev ) More... | |
| void | InsertNodeBefore (LinkListNode *node_, LinkListNode *insert_) |
| InsertNodeBefore Insert a linked-list node into the list before the specified insertion point. More... | |
Public Member Functions inherited from Mark3::LinkList | |
| void | Init () |
| Init. More... | |
| LinkListNode * | GetHead () |
| GetHead. More... | |
| void | SetHead (LinkListNode *pclNode_) |
| SetHead. More... | |
| LinkListNode * | GetTail () |
| GetTail. More... | |
| void | SetTail (LinkListNode *pclNode_) |
| SetTail. More... | |
Private Attributes | |
| CoPrioMap * | m_pclPrioMap |
| uint8_t | m_uPriority |
Additional Inherited Members | |
Protected Attributes inherited from Mark3::LinkList | |
| LinkListNode * | m_pclHead |
| Pointer to the head node in the list. More... | |
| LinkListNode * | m_pclTail |
| Pointer to the tail node in the list. More... | |
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.
| void Mark3::CoList::Add | ( | Coroutine * | pclCoroutine_ | ) |
Add Add a coroutine object to this list.
| pclCoroutine_ | Pointer to the coroutine object to add |
Definition at line 36 of file colist.cpp.
| void Mark3::CoList::Remove | ( | Coroutine * | pclCoroutine_ | ) |
Remove Remove a given coroutine object from this list.
| pclCoroutine_ | Pointer to the coroutine object to remove |
Definition at line 46 of file colist.cpp.
| void Mark3::CoList::SetPrioMap | ( | CoPrioMap * | pclPrioMap_ | ) |
SetPrioMap Assign a priority map object to this co-routine list.
| pclPrioMap_ | priority map object to assign |
Definition at line 24 of file colist.cpp.
| 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.
| uPriority_ | Priority of coroutines associated with this list |
Definition at line 30 of file colist.cpp.