F´ Flight Software - C/C++ Documentation  NASA-v2.0.1
A framework for building embedded system applications to NASA flight quality standards.
IPCQueue.hpp
Go to the documentation of this file.
1 #ifndef _IPCQueue_hpp_
2 #define _IPCQueue_hpp_
3 
4 #include <Os/Queue.hpp>
5 
6 namespace Os {
7  class IPCQueue : public Os::Queue {
8  public:
9  IPCQueue();
10  ~IPCQueue();
11  QueueStatus create(const Fw::StringBase &name, NATIVE_INT_TYPE depth, NATIVE_INT_TYPE msgSize);
12 
13  // Base class has overloads - NOTE(mereweth) - this didn't work
14  //using Queue::send;
15  //using Queue::receive;
16 
17  // Send serialized buffers
18  QueueStatus send(const Fw::SerializeBufferBase &buffer, NATIVE_INT_TYPE priority, QueueBlocking block);
20 
21  // Send raw buffers
22  QueueStatus send(const U8* buffer, NATIVE_INT_TYPE size, NATIVE_INT_TYPE priority, QueueBlocking block);
23  QueueStatus receive(U8* buffer, NATIVE_INT_TYPE capacity, NATIVE_INT_TYPE &actualSize, NATIVE_INT_TYPE &priority, QueueBlocking block);
24 
25  NATIVE_INT_TYPE getNumMsgs(void) const;
26  NATIVE_INT_TYPE getMaxMsgs(void) const;
27  NATIVE_INT_TYPE getQueueSize(void) const;
28  NATIVE_INT_TYPE getMsgSize(void) const;
29  };
30 }
31 
32 #endif
Os
Definition: File.cpp:7
Os::IPCQueue::receive
QueueStatus receive(Fw::SerializeBufferBase &buffer, NATIVE_INT_TYPE &priority, QueueBlocking block)
receive a message
Definition: IPCQueueCommon.cpp:15
Os::IPCQueue::getNumMsgs
NATIVE_INT_TYPE getNumMsgs(void) const
get the number of messages in the queue
Definition: IPCQueueStub.cpp:342
Fw::SerializeBufferBase
Definition: Serializable.hpp:43
Os::IPCQueue::~IPCQueue
~IPCQueue()
Definition: IPCQueueStub.cpp:84
Fw::StringBase
Definition: StringType.hpp:23
U8
uint8_t U8
8-bit unsigned integer
Definition: BasicTypes.hpp:76
Os::Queue::QueueStatus
QueueStatus
Definition: Queue.hpp:27
Os::Queue::QueueBlocking
QueueBlocking
Definition: Queue.hpp:40
Os::IPCQueue::IPCQueue
IPCQueue()
Definition: IPCQueueStub.cpp:53
Os::IPCQueue::getQueueSize
NATIVE_INT_TYPE getQueueSize(void) const
get the queue depth (maximum number of messages queue can hold)
Definition: IPCQueueStub.cpp:360
Os::IPCQueue
Definition: IPCQueue.hpp:7
Os::IPCQueue::getMaxMsgs
NATIVE_INT_TYPE getMaxMsgs(void) const
get the maximum number of messages (high watermark)
Definition: IPCQueueStub.cpp:351
Os::IPCQueue::create
QueueStatus create(const Fw::StringBase &name, NATIVE_INT_TYPE depth, NATIVE_INT_TYPE msgSize)
create a message queue
Definition: IPCQueueStub.cpp:56
NATIVE_INT_TYPE
int NATIVE_INT_TYPE
native integer type declaration
Definition: BasicTypes.hpp:29
Os::Queue
Definition: Queue.hpp:24
Os::IPCQueue::send
QueueStatus send(const Fw::SerializeBufferBase &buffer, NATIVE_INT_TYPE priority, QueueBlocking block)
send a message
Definition: IPCQueueCommon.cpp:6
Os::IPCQueue::getMsgSize
NATIVE_INT_TYPE getMsgSize(void) const
get the message size (maximum message size queue can hold)
Definition: IPCQueueStub.cpp:369
Queue.hpp