µOS++ IIIe Reference 7.0.0
The third edition of µOS++, a POSIX inspired open source framework, written in C++
Loading...
Searching...
No Matches
os::rtos::internal::timestamp_node Class Referenceabstract

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_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
port::clock::timestamp_t timestamp
 Time stamp when the next action will be performed.
 

Protected Attributes

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

Detailed Description

Double linked list node, with time stamp.

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

Constructor & Destructor Documentation

◆ timestamp_node()

os::rtos::internal::timestamp_node::timestamp_node ( port::clock::timestamp_t  ts)

Construct a node with a time stamp.

Parameters
tsTime stamp.

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

◆ ~timestamp_node()

os::rtos::internal::timestamp_node::~timestamp_node ( )
virtual

Destruct the node.

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

Member Function Documentation

◆ action()

virtual void os::rtos::internal::timestamp_node::action ( void  )
pure virtual

Action to perform when the time stamp is reached.

Parameters
None.
Returns
Nothing.

Implemented in os::rtos::internal::timeout_thread_node, and os::rtos::internal::timer_node.

◆ next() [1/2]

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

Definition at line 865 of file lists.h.

◆ next() [2/2]

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

Definition at line 853 of file lists.h.

◆ prev() [1/2]

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

Definition at line 871 of file lists.h.

◆ prev() [2/2]

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

Definition at line 859 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 57 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 138 of file lists.h.

◆ prev_

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

Pointer to previous node.

Definition at line 133 of file lists.h.

◆ timestamp

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

Time stamp when the next action will be performed.

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


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