SatNOGS-COMMS  4.1.0
A COMMS subsystem for CubeSats
Loading...
Searching...
No Matches
satnogs::comms::lib::bsp::msgq< T, LEN > Class Template Reference

Message queue device abstraction with custom maximum number of messages. More...

#include <msgq.hpp>

Inheritance diagram for satnogs::comms::lib::bsp::msgq< T, LEN >:
satnogs::comms::lib::bsp::imsgq< T > satnogs::comms::msgq< T, LEN >

Public Member Functions

 msgq ()
Public Member Functions inherited from satnogs::comms::lib::bsp::imsgq< T >
 imsgq (size_t len)
 Constructs an imsgq object with a specified maximum size.
 imsgq (const imsgq &)=delete
size_t max_size () const
 A method that returns the maximum size of the message queue.
virtual size_t size ()=0
 A virtual method that returns the current number of messages in the queue.
virtual int put (const T &msg, size_t timeout_ms)=0
 A virtual method that enqueues a message into the queue.
virtual int put_isr (const T &msg)=0
 A virtual method that enqueues a message into the queue from an interrupt context.
virtual int peek (T *msg)=0
 A virtual method that peeks at the next message in the queue without removing it.
virtual int get (T *msg, size_t timeout_ms)=0
 A virtual method that retrieves a message from the queue.
virtual int get_isr (T *msg)=0
 A virtual method that retrieves a message from the queue from an interrupt context.

Additional Inherited Members

Protected Attributes inherited from satnogs::comms::lib::bsp::imsgq< T >
const size_t m_len

Detailed Description

template<typename T, const size_t LEN>
class satnogs::comms::lib::bsp::msgq< T, LEN >

Message queue device abstraction with custom maximum number of messages.

This template class provides a generic message queue abstraction with capacity LEN for messages of type T. This class inherits from imsgq.

Warning
Depending on the target platform/RTOS users are expected to define a class that inherits this one and implement at least the pure virtual methods
Template Parameters
TThe type of the messages stored in the queue
LENThe maximum number of messages the queue can hold.

Definition at line 151 of file msgq.hpp.

Constructor & Destructor Documentation

◆ msgq()

template<typename T, const size_t LEN>
satnogs::comms::lib::bsp::msgq< T, LEN >::msgq ( )
inline

Definition at line 154 of file msgq.hpp.


The documentation for this class was generated from the following file:
  • libsatnogs-comms/include/satnogs-comms-lib/bsp/msgq.hpp