µ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::timer_node Class Reference

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

#include <os-lists.h>

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

Public Member Functions

Constructors & Destructor
 timer_node (port::clock::timestamp_t ts, timer &tm)
 Construct a clock timer node. More...
 
virtual ~timer_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
timertmr
 Reference to waiting timer. 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 timer.

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

Constructor & Destructor Documentation

◆ timer_node()

os::rtos::internal::timer_node::timer_node ( port::clock::timestamp_t  ts,
timer tm 
)

Construct a clock timer node.

Parameters
[in]tsTime stamp.
[in]tmReference to timer.

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

◆ ~timer_node()

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

Destruct the node.

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

Member Function Documentation

◆ action()

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

Action to perform when the time stamp is reached.

Parameters
None.
Returns
Nothing.

Remove the node from the list and perform the timer actions.

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

Definition at line 359 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.

◆ 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.

◆ tmr

timer& os::rtos::internal::timer_node::tmr

Reference to waiting timer.

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


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