diff options
author | Clyne Sullivan <tullivan99@gmail.com> | 2016-11-11 15:02:17 -0500 |
---|---|---|
committer | Clyne Sullivan <tullivan99@gmail.com> | 2016-11-11 15:02:17 -0500 |
commit | 7772ea4579a45bcf63ebd5e68be66ba1a9c72dfa (patch) | |
tree | 9e1ce52ea97102d3513e519a77d999eac228820b /include/distortos/internal/scheduler/ThreadListNode.hpp | |
parent | 02b3ff42cccf32617c88c0ca65436b8c9d4f61eb (diff) |
chibios!
Diffstat (limited to 'include/distortos/internal/scheduler/ThreadListNode.hpp')
-rw-r--r-- | include/distortos/internal/scheduler/ThreadListNode.hpp | 86 |
1 files changed, 0 insertions, 86 deletions
diff --git a/include/distortos/internal/scheduler/ThreadListNode.hpp b/include/distortos/internal/scheduler/ThreadListNode.hpp deleted file mode 100644 index fcd7c85..0000000 --- a/include/distortos/internal/scheduler/ThreadListNode.hpp +++ /dev/null @@ -1,86 +0,0 @@ -/** - * \file - * \brief ThreadListNode class header - * - * \author Copyright (C) 2015 Kamil Szczygiel http://www.distortec.com http://www.freddiechopin.info - * - * \par License - * This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not - * distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/. - */ - -#ifndef INCLUDE_DISTORTOS_INTERNAL_SCHEDULER_THREADLISTNODE_HPP_ -#define INCLUDE_DISTORTOS_INTERNAL_SCHEDULER_THREADLISTNODE_HPP_ - -#include "estd/IntrusiveList.hpp" - -namespace distortos -{ - -namespace internal -{ - -/** - * \brief 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. - */ - -class ThreadListNode -{ -public: - - /** - * \brief ThreadListNode's constructor - * - * \param [in] priority is the thread's priority, 0 - lowest, UINT8_MAX - highest - */ - - constexpr ThreadListNode(const uint8_t priority) : - threadListNode{}, - threadGroupNode{}, - priority_{priority}, - boostedPriority_{} - { - - } - - /** - * \return effective priority of thread - */ - - uint8_t getEffectivePriority() const - { - return std::max(priority_, boostedPriority_); - } - - /** - * \return priority of thread - */ - - uint8_t getPriority() const - { - return priority_; - } - - /// node for intrusive list in thread lists - estd::IntrusiveListNode threadListNode; - - /// node for intrusive list in thread group - estd::IntrusiveListNode threadGroupNode; - -protected: - - /// thread's priority, 0 - lowest, UINT8_MAX - highest - uint8_t priority_; - - /// thread's boosted priority, 0 - no boosting - uint8_t boostedPriority_; -}; - -} // namespace internal - -} // namespace distortos - -#endif // INCLUDE_DISTORTOS_INTERNAL_SCHEDULER_THREADLISTNODE_HPP_ |