Double linked list node, with time stamp. More...
#include <os-lists.h>
Inheritance diagram for os::rtos::internal::timestamp_node:Public Member Functions | |
Constructors & Destructor | |
| timestamp_node (port::clock::timestamp_t ts) | |
| Construct a node with a time stamp. | |
| virtual | ~timestamp_node () |
| Destruct the node. | |
Public Member Functions | |
| virtual void | action (void)=0 |
| 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 | |
| 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 128 of file os-lists.h.
| os::rtos::internal::timestamp_node::timestamp_node | ( | port::clock::timestamp_t | ts | ) |
| ts | Time stamp. |
Definition at line 311 of file os-lists.cpp.
References os::trace::printf().
|
virtual |
Definition at line 318 of file os-lists.cpp.
References os::trace::printf().
|
pure virtual |
Implemented in os::rtos::internal::timeout_thread_node, and os::rtos::internal::timer_node.
|
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 os::rtos::internal::timeout_thread_node::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().
| port::clock::timestamp_t os::rtos::internal::timestamp_node::timestamp |
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().