63#if FW_QUEUE_REGISTRATION
77#if FW_QUEUE_REGISTRATION
PlatformPointerCastType POINTER_CAST
PlatformIntType NATIVE_INT_TYPE
uint8_t U8
8-bit unsigned integer
C++-compatible configuration header for fprime configuration.
Declarations for Fw::ObjBase and Fw::ObjRegistry.
QueueString m_name
queue name
QueueStatus create(const Fw::StringBase &name, NATIVE_INT_TYPE depth, NATIVE_INT_TYPE msgSize)
create a message queue
NATIVE_INT_TYPE getMsgSize() const
get the message size (maximum message size queue can hold)
@ QUEUE_SIZE_MISMATCH
attempted to send or receive with buffer too large, too small
@ QUEUE_UNINITIALIZED
Queue wasn't initialized successfully.
@ QUEUE_SEND_ERROR
message send error
@ QUEUE_NO_MORE_MSGS
If non-blocking, all the messages have been drained.
@ QUEUE_INVALID_PRIORITY
invalid priority requested
@ QUEUE_EMPTY_BUFFER
supplied buffer is empty
@ QUEUE_UNKNOWN_ERROR
Unexpected error; can't match with returns.
@ QUEUE_OK
message sent/received okay
@ QUEUE_FULL
queue was full when attempting to send a message
@ QUEUE_RECEIVE_ERROR
message receive error
QueueStatus send(const Fw::SerializeBufferBase &buffer, NATIVE_INT_TYPE priority, QueueBlocking block)
send a message
QueueStatus createInternal(const Fw::StringBase &name, NATIVE_INT_TYPE depth, NATIVE_INT_TYPE msgSize)
create a message queue
QueueStatus receive(Fw::SerializeBufferBase &buffer, NATIVE_INT_TYPE &priority, QueueBlocking block)
receive a message
const QueueString & getName()
get the queue name
NATIVE_INT_TYPE getQueueSize() const
get the queue depth (maximum number of messages queue can hold)
NATIVE_INT_TYPE getMaxMsgs() const
get the maximum number of messages (high watermark)
@ QUEUE_BLOCKING
Queue receive blocks until a message arrives.
@ QUEUE_NONBLOCKING
Queue receive always returns even if there is no message.
NATIVE_INT_TYPE getNumMsgs() const
get the number of messages in the queue
static NATIVE_INT_TYPE getNumQueues()
get the number of queues in the system
static NATIVE_INT_TYPE s_numQueues
tracks number of queues in the system
POINTER_CAST m_handle
handle for implementation specific queue
virtual void regQueue(Queue *obj)=0
method called by queue init() methods to register a new queue