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

Message queue attributes. More...

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

+ Inheritance diagram for os::rtos::message_queue::attributes:

Public Member Functions

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

Public Attributes

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

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.

If the attributes are modified after the message_queue creation, the message_queue attributes shall not be affected.

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

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

Constructor & Destructor Documentation

◆ attributes() [1/3]

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

Construct a message queue attributes object instance.

Parameters
None.

Definition at line 1268 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= ( attributes &&  )
default

◆ operator=() [2/2]

attributes & os::rtos::message_queue::attributes::operator= ( const 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 629 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 199 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 204 of file os-mqueue.h.


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