µOS++ IIIe Reference  v6.3.15
“Perfekt ist nicht gut genug”
The third edition of µOS++, a POSIX inspired open source system, written in C++.
os::rtos::internal::timeout_thread_node Class Reference

Double linked list node, with time stamp and thread. More...

#include <os-lists.h>

Inherits os::rtos::internal::timestamp_node.

Public Member Functions

Constructors & Destructor
 timeout_thread_node (port::clock::timestamp_t ts, thread &th)
 Construct a clock timeout node. More...
 
virtual ~timeout_thread_node () override
 Destruct the node. More...
 
Public Member Functions
virtual void action (void) override
 Action to perform when the time stamp is reached. More...
 
Public Member Functions
void unlink (void)
 Remove the node from the list. More...
 
bool unlinked (void)
 Check if the node is unlinked. More...
 
static_double_list_linksnext (void) const
 
void next (static_double_list_links *n)
 
static_double_list_linksprev (void) const
 
void prev (static_double_list_links *n)
 

Public Attributes

Public Member Variables
rtos::threadthread
 Reference to thread who initiated the timeout. More...
 
Public Member Variables
port::clock::timestamp_t timestamp
 Time stamp when the next action will be performed. More...
 

Protected Attributes

Private Member Variables
static_double_list_linksprev_
 Pointer to previous node. More...
 
static_double_list_linksnext_
 Pointer to next node. More...
 

Detailed Description

Double linked list node, with time stamp and thread.

Definition at line 213 of file os-lists.h.

Constructor & Destructor Documentation

◆ timeout_thread_node()

os::rtos::internal::timeout_thread_node::timeout_thread_node ( port::clock::timestamp_t  ts,
rtos::thread th 
)

Construct a clock timeout node.

Parameters
[in]tsTime stamp.
[in]thReference to thread.

Definition at line 301 of file os-lists.cpp.

◆ ~timeout_thread_node()

os::rtos::internal::timeout_thread_node::~timeout_thread_node ( )
overridevirtual

Destruct the node.

Definition at line 312 of file os-lists.cpp.

Member Function Documentation

◆ action()

void os::rtos::internal::timeout_thread_node::action ( void  )
overridevirtual

Action to perform when the time stamp is reached.

Parameters
None.
Returns
Nothing.

Implements os::rtos::internal::timestamp_node.

Definition at line 321 of file os-lists.cpp.

◆ next() [1/2]

static_double_list_links * os::utils::static_double_list_links::next ( void  ) const
inlineinherited

Definition at line 853 of file lists.h.

◆ next() [2/2]

void os::utils::static_double_list_links::next ( static_double_list_links n)
inlineinherited

Definition at line 865 of file lists.h.

◆ prev() [1/2]

static_double_list_links * os::utils::static_double_list_links::prev ( void  ) const
inlineinherited

Definition at line 859 of file lists.h.

◆ prev() [2/2]

void os::utils::static_double_list_links::prev ( static_double_list_links n)
inlineinherited

Definition at line 871 of file lists.h.

◆ unlink()

void os::utils::static_double_list_links::unlink ( void  )
inherited

Remove the node from the list.

Returns
Nothing.

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 60 of file lists.cpp.

◆ unlinked()

bool os::utils::static_double_list_links::unlinked ( void  )
inlineinherited

Check if the node is unlinked.

Return values
trueThe node is not linked.
falseThe node is linked to a list.

Definition at line 847 of file lists.h.

Member Data Documentation

◆ next_

static_double_list_links* os::utils::static_double_list_links::next_
protectedinherited

Pointer to next node.

Definition at line 142 of file lists.h.

◆ prev_

static_double_list_links* os::utils::static_double_list_links::prev_
protectedinherited

Pointer to previous node.

Definition at line 137 of file lists.h.

◆ thread

rtos::thread& os::rtos::internal::timeout_thread_node::thread

Reference to thread who initiated the timeout.

Definition at line 285 of file os-lists.h.

◆ timestamp

port::clock::timestamp_t os::rtos::internal::timestamp_node::timestamp
inherited

Time stamp when the next action will be performed.

Definition at line 195 of file os-lists.h.


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