Double linked list node, with time stamp and thread. More...
#include <os-lists.h>
Inheritance diagram for os::rtos::internal::timeout_thread_node:Public Member Functions | |
Constructors & Destructor | |
| timeout_thread_node (port::clock::timestamp_t ts, thread &th) | |
| Construct a clock timeout node. | |
| virtual | ~timeout_thread_node () override |
| Destruct the node. | |
Public Member Functions | |
| virtual void | action (void) override |
| Action to perform when the time stamp is reached. | |
Public Member Functions | |
| void | unlink (void) |
| Remove the node from the list. | |
| bool | unlinked (void) |
| Check if the node is unlinked. | |
| static_double_list_links * | next (void) const |
| void | next (static_double_list_links *n) |
| static_double_list_links * | prev (void) const |
| void | prev (static_double_list_links *n) |
Public Attributes | |
Public Member Variables | |
| rtos::thread & | thread |
| Reference to thread who initiated the timeout. | |
Public Member Variables | |
| port::clock::timestamp_t | timestamp |
| Time stamp when the next action will be performed. | |
Protected Attributes | |
Private Member Variables | |
| static_double_list_links * | prev_ |
| Pointer to previous node. | |
| static_double_list_links * | next_ |
| Pointer to next node. | |
Definition at line 219 of file os-lists.h.
| os::rtos::internal::timeout_thread_node::timeout_thread_node | ( | port::clock::timestamp_t | ts, |
| rtos::thread & | th | ||
| ) |
| [in] | ts | Time stamp. |
| [in] | th | Reference to thread. |
Definition at line 327 of file os-lists.cpp.
References os::trace::printf().
|
overridevirtual |
Definition at line 337 of file os-lists.cpp.
References os::trace::printf().
|
overridevirtual |
Implements os::rtos::internal::timestamp_node.
Definition at line 346 of file os-lists.cpp.
References os::rtos::thread::state::destroyed, os::rtos::thread::resume(), os::rtos::thread::state(), thread, and os::utils::static_double_list_links::unlink().
|
inlineinherited |
Definition at line 847 of file lists.h.
References os::utils::static_double_list_links::next_.
|
inlineinherited |
Definition at line 835 of file lists.h.
References os::utils::static_double_list_links::next_.
Referenced by os::rtos::internal::waiting_threads_list::begin(), os::rtos::internal::clock_timestamps_list::check_timestamp(), os::utils::static_double_list::clear(), os::utils::static_double_list::empty(), os::utils::static_double_list::head(), and os::utils::static_double_list::insert_after().
|
inlineinherited |
Definition at line 853 of file lists.h.
References os::utils::static_double_list_links::prev_.
|
inlineinherited |
Definition at line 841 of file lists.h.
References os::utils::static_double_list_links::prev_.
Referenced by os::utils::static_double_list::clear(), os::utils::static_double_list::insert_after(), os::rtos::internal::clock_timestamps_list::link(), os::rtos::internal::ready_threads_list::link(), os::rtos::internal::waiting_threads_list::link(), os::rtos::internal::terminated_threads_list::link(), os::utils::static_double_list::tail(), and os::utils::static_double_list::uninitialized().
|
inherited |
Update the neighbours to point to each other, skipping the node.
For more robustness, to prevent unexpected accesses, the links in the removed node are nullified.
Definition at line 59 of file lists.cpp.
References os::utils::static_double_list_links::next_, os::utils::static_double_list_links::prev_, os::trace::printf(), and os::utils::static_double_list_links::unlinked().
Referenced by action(), os::rtos::internal::timer_node::action(), and os_rtos_idle_actions().
|
inlineinherited |
| true | The node is not linked. |
| false | The node is linked to a list. |
Definition at line 829 of file lists.h.
References os::utils::static_double_list_links::next_.
Referenced by os::utils::static_double_list_links::unlink().
|
protectedinherited |
|
protectedinherited |
Definition at line 132 of file lists.h.
Referenced by os::utils::double_list_links::double_list_links(), os::utils::static_double_list_links::prev(), os::utils::static_double_list_links::prev(), and os::utils::static_double_list_links::unlink().
| rtos::thread& os::rtos::internal::timeout_thread_node::thread |
Definition at line 289 of file os-lists.h.
Referenced by action().
|
inherited |
Definition at line 198 of file os-lists.h.
Referenced by os::rtos::internal::clock_timestamps_list::check_timestamp(), and os::rtos::internal::clock_timestamps_list::link().