distortos  v0.7.0
object-oriented C++ RTOS for microcontrollers
distortos::internal::ThreadListNode Class Reference

ThreadListNode class is a base for ThreadControlBlock that provides nodes for intrusive lists. More...

#include "distortos/internal/scheduler/ThreadListNode.hpp"

Inheritance diagram for distortos::internal::ThreadListNode:
[legend]
Collaboration diagram for distortos::internal::ThreadListNode:
[legend]

Public Member Functions

constexpr ThreadListNode (const uint8_t priority)
 ThreadListNode's constructor. More...
 
uint8_t getEffectivePriority () const
 
uint8_t getPriority () const
 

Public Attributes

estd::IntrusiveListNode threadListNode
 node for intrusive list in thread lists More...
 
estd::IntrusiveListNode threadGroupNode
 node for intrusive list in thread group More...
 

Protected Attributes

uint8_t priority_
 thread's priority, 0 - lowest, UINT8_MAX - highest More...
 
uint8_t boostedPriority_
 thread's boosted priority, 0 - no boosting More...
 

Detailed Description

ThreadListNode class is a base for ThreadControlBlock that provides nodes for intrusive lists.

This class is needed to break circular dependency - MutexList is contained in ThreadControlBlock and ThreadList is contained in MutexControlBlock.

Constructor & Destructor Documentation

◆ ThreadListNode()

constexpr distortos::internal::ThreadListNode::ThreadListNode ( const uint8_t  priority)
inlineexplicit

ThreadListNode's constructor.

Parameters
[in]priorityis the thread's priority, 0 - lowest, UINT8_MAX - highest

Member Function Documentation

◆ getEffectivePriority()

uint8_t distortos::internal::ThreadListNode::getEffectivePriority ( ) const
inline
Returns
effective priority of thread
Here is the caller graph for this function:

◆ getPriority()

uint8_t distortos::internal::ThreadListNode::getPriority ( ) const
inline
Returns
priority of thread
Here is the caller graph for this function:

Member Data Documentation

◆ boostedPriority_

uint8_t distortos::internal::ThreadListNode::boostedPriority_
protected

thread's boosted priority, 0 - no boosting

◆ priority_

uint8_t distortos::internal::ThreadListNode::priority_
protected

thread's priority, 0 - lowest, UINT8_MAX - highest

◆ threadGroupNode

estd::IntrusiveListNode distortos::internal::ThreadListNode::threadGroupNode

node for intrusive list in thread group

◆ threadListNode

estd::IntrusiveListNode distortos::internal::ThreadListNode::threadListNode

node for intrusive list in thread lists


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