F´ Flight Software - C/C++ Documentation
NASA-v1.5.0
A framework for building embedded system applications to NASA flight quality standards.
|
#include <Os/Queue.hpp>
Public Member Functions | |
Queue () | |
virtual | ~Queue () |
QueueStatus | create (const Fw::StringBase &name, NATIVE_INT_TYPE depth, NATIVE_INT_TYPE msgSize) |
create a message queue More... | |
QueueStatus | send (const Fw::SerializeBufferBase &buffer, NATIVE_INT_TYPE priority, QueueBlocking block) |
send a message More... | |
QueueStatus | receive (Fw::SerializeBufferBase &buffer, NATIVE_INT_TYPE &priority, QueueBlocking block) |
receive a message More... | |
QueueStatus | send (const U8 *buffer, NATIVE_INT_TYPE size, NATIVE_INT_TYPE priority, QueueBlocking block) |
send a message More... | |
QueueStatus | receive (U8 *buffer, NATIVE_INT_TYPE capacity, NATIVE_INT_TYPE &actualSize, NATIVE_INT_TYPE &priority, QueueBlocking block) |
receive a message More... | |
NATIVE_INT_TYPE | getNumMsgs (void) const |
get the number of messages in the queue More... | |
NATIVE_INT_TYPE | getMaxMsgs (void) const |
get the maximum number of messages (high watermark) More... | |
NATIVE_INT_TYPE | getQueueSize (void) const |
get the queue depth (maximum number of messages queue can hold) More... | |
NATIVE_INT_TYPE | getMsgSize (void) const |
get the message size (maximum message size queue can hold) More... | |
const QueueString & | getName (void) |
get the queue name More... | |
Static Public Member Functions | |
static NATIVE_INT_TYPE | getNumQueues (void) |
get the number of queues in the system More... | |
Protected Member Functions | |
QueueStatus | createInternal (const Fw::StringBase &name, NATIVE_INT_TYPE depth, NATIVE_INT_TYPE msgSize) |
create a message queue More... | |
Protected Attributes | |
POINTER_CAST | m_handle |
handle for implementation specific queue More... | |
QueueString | m_name |
queue name More... | |
Static Protected Attributes | |
static NATIVE_INT_TYPE | s_numQueues = 0 |
tracks number of queues in the system More... | |
Enumerator | |
---|---|
QUEUE_OK | message sent/received okay |
QUEUE_NO_MORE_MSGS | If non-blocking, all the messages have been drained. |
QUEUE_UNINITIALIZED | Queue wasn't initialized successfully. |
QUEUE_SIZE_MISMATCH | attempted to send or receive with buffer too large, too small |
QUEUE_SEND_ERROR | message send error |
QUEUE_RECEIVE_ERROR | message receive error |
QUEUE_INVALID_PRIORITY | invalid priority requested |
QUEUE_EMPTY_BUFFER | supplied buffer is empty |
QUEUE_FULL | queue was full when attempting to send a message |
QUEUE_UNKNOWN_ERROR | Unexpected error; can't match with returns. |
Os::Queue::Queue | ( | ) |
|
virtual |
Queue::QueueStatus Os::Queue::create | ( | const Fw::StringBase & | name, |
NATIVE_INT_TYPE | depth, | ||
NATIVE_INT_TYPE | msgSize | ||
) |
create a message queue
Definition at line 41 of file QueueCommon.cpp.
|
protected |
create a message queue
Create a new queue. The will also recreate the queue if it exists. WARNING: this must be called only during initialization.
const | Fw::StringBase &name: name of the queue |
NATIVE_INT_TYPE | depth: depth of the queue |
NATIVE_INT_TYPE | msgSize: message size |
NATIVE_INT_TYPE Os::Queue::getMaxMsgs | ( | void | ) | const |
NATIVE_INT_TYPE Os::Queue::getMsgSize | ( | void | ) | const |
const QueueString & Os::Queue::getName | ( | void | ) |
get the queue name
Definition at line 61 of file QueueCommon.cpp.
NATIVE_INT_TYPE Os::Queue::getNumMsgs | ( | void | ) | const |
|
static |
get the number of queues in the system
Definition at line 57 of file QueueCommon.cpp.
NATIVE_INT_TYPE Os::Queue::getQueueSize | ( | void | ) | const |
Queue::QueueStatus Os::Queue::receive | ( | Fw::SerializeBufferBase & | buffer, |
NATIVE_INT_TYPE & | priority, | ||
QueueBlocking | block | ||
) |
receive a message
Definition at line 22 of file QueueCommon.cpp.
Queue::QueueStatus Os::Queue::receive | ( | U8 * | buffer, |
NATIVE_INT_TYPE | capacity, | ||
NATIVE_INT_TYPE & | actualSize, | ||
NATIVE_INT_TYPE & | priority, | ||
QueueBlocking | block | ||
) |
Queue::QueueStatus Os::Queue::send | ( | const Fw::SerializeBufferBase & | buffer, |
NATIVE_INT_TYPE | priority, | ||
QueueBlocking | block | ||
) |
send a message
Definition at line 13 of file QueueCommon.cpp.
Queue::QueueStatus Os::Queue::send | ( | const U8 * | buffer, |
NATIVE_INT_TYPE | size, | ||
NATIVE_INT_TYPE | priority, | ||
QueueBlocking | block | ||
) |
|
protected |
|
protected |
|
staticprotected |