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

Message queue attributes. More...

#include <cmsis-plus/rtos/os.h>

Inherits os::rtos::internal::attributes_clocked.

Public Member Functions

Constructors & Destructor
constexpr attributes ()
 Construct a message queue attributes object instance. More...
 
 attributes (const attributes &)=default
 
 attributes (attributes &&)=default
 
attributesoperator= (const attributes &)=default
 
attributesoperator= (attributes &&)=default
 
 ~attributes ()=default
 Destruct the message queue attributes object instance. More...
 

Public Attributes

Public Member Variables
void * mq_queue_address = nullptr
 Address of the user defined storage for the message queue. More...
 
std::size_t mq_queue_size_bytes = 0
 Size of the user defined storage for the message queue. More...
 
Public Member Variables
rtos::clockclock = nullptr
 Attribute with the address of the clock to be used for timeouts. More...
 

Detailed Description

Message queue attributes.

Allow to assign a name and custom attributes (like a static address) to the message queue.

To simplify access, the member variables are public and do not require accessors or mutators.

POSIX compatibility
Inspired by mq_attr from <mqueue.h> (IEEE Std 1003.1, 2013 Edition).

Definition at line 142 of file os-mqueue.h.

Constructor & Destructor Documentation

◆ attributes() [1/3]

constexpr os::rtos::message_queue::attributes::attributes ( )

Construct a message queue attributes object instance.

Parameters
None.

Definition at line 1257 of file os-mqueue.h.

◆ attributes() [2/3]

os::rtos::message_queue::attributes::attributes ( const attributes )
default

◆ attributes() [3/3]

os::rtos::message_queue::attributes::attributes ( attributes &&  )
default

◆ ~attributes()

os::rtos::message_queue::attributes::~attributes ( )
default

Destruct the message queue attributes object instance.

Member Function Documentation

◆ operator=() [1/2]

attributes& os::rtos::message_queue::attributes::operator= ( const attributes )
default

◆ operator=() [2/2]

attributes& os::rtos::message_queue::attributes::operator= ( attributes &&  )
default

Member Data Documentation

◆ clock

rtos::clock* os::rtos::internal::attributes_clocked::clock = nullptr
inherited

Attribute with the address of the clock to be used for timeouts.

It may be one of os::rtos::sysclock, os::rtos::rtclock, or any other user object derived from class os::rtos::clock.

If nullptr, the default clock is os::rtos::sysclock.

Definition at line 615 of file os-decls.h.

◆ mq_queue_address

void * os::rtos::message_queue::attributes::mq_queue_address = nullptr

Address of the user defined storage for the message queue.

Set this variable to a user defined memory area large enough to store the message queue. Usually this is a statically allocated array of structures.

The default value is nullptr, which means there is no user defined message queue.

Definition at line 188 of file os-mqueue.h.

◆ mq_queue_size_bytes

std::size_t os::rtos::message_queue::attributes::mq_queue_size_bytes = 0

Size of the user defined storage for the message queue.

The message queue size must match exactly the allocated size. It is used for validation; when the message queue is initialised, this size must be large enough to accommodate the desired message queue.

If the mq_queue_address is nullptr, this variable is not checked, but it is recommended to leave it zero.

Definition at line 193 of file os-mqueue.h.


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