F´ Flight Software - C/C++ Documentation  NASA-v1.6.0
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() const;
26  NATIVE_INT_TYPE getMaxMsgs() const;
28  NATIVE_INT_TYPE getMsgSize() 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
Fw::SerializeBufferBase
Definition: Serializable.hpp:43
Os::IPCQueue::~IPCQueue
~IPCQueue()
Definition: IPCQueueStub.cpp:85
Fw::StringBase
Definition: StringType.hpp:23
U8
uint8_t U8
8-bit unsigned integer
Definition: BasicTypes.hpp:73
Os::Queue::QueueStatus
QueueStatus
Definition: Queue.hpp:27
Os::IPCQueue::getQueueSize
NATIVE_INT_TYPE getQueueSize() const
get the queue depth (maximum number of messages queue can hold)
Definition: IPCQueueStub.cpp:361
NATIVE_INT_TYPE
int NATIVE_INT_TYPE
native integer type declaration
Definition: BasicTypes.hpp:27
Os::Queue::QueueBlocking
QueueBlocking
Definition: Queue.hpp:40
Os::IPCQueue::IPCQueue
IPCQueue()
Definition: IPCQueueStub.cpp:54
Os::IPCQueue
Definition: IPCQueue.hpp:7
Os::IPCQueue::getMsgSize
NATIVE_INT_TYPE getMsgSize() const
get the message size (maximum message size queue can hold)
Definition: IPCQueueStub.cpp:370
Os::IPCQueue::create
QueueStatus create(const Fw::StringBase &name, NATIVE_INT_TYPE depth, NATIVE_INT_TYPE msgSize)
create a message queue
Definition: IPCQueueStub.cpp:57
Os::IPCQueue::getMaxMsgs
NATIVE_INT_TYPE getMaxMsgs() const
get the maximum number of messages (high watermark)
Definition: IPCQueueStub.cpp:352
Os::IPCQueue::getNumMsgs
NATIVE_INT_TYPE getNumMsgs() const
get the number of messages in the queue
Definition: IPCQueueStub.cpp:343
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
Queue.hpp