F´ Flight Software - C/C++ Documentation  devel
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
PlatformIntType NATIVE_INT_TYPE
Definition: BasicTypes.h:51
uint8_t U8
8-bit unsigned integer
Definition: BasicTypes.h:26
NATIVE_INT_TYPE getQueueSize() const
get the queue depth (maximum number of messages queue can hold)
NATIVE_INT_TYPE getMsgSize() const
get the message size (maximum message size queue can hold)
QueueStatus create(const Fw::StringBase &name, NATIVE_INT_TYPE depth, NATIVE_INT_TYPE msgSize)
create a message queue
QueueStatus send(const Fw::SerializeBufferBase &buffer, NATIVE_INT_TYPE priority, QueueBlocking block)
send a message
NATIVE_INT_TYPE getNumMsgs() const
get the number of messages in the queue
QueueStatus receive(Fw::SerializeBufferBase &buffer, NATIVE_INT_TYPE &priority, QueueBlocking block)
receive a message
NATIVE_INT_TYPE getMaxMsgs() const
get the maximum number of messages (high watermark)
QueueStatus
Definition: Queue.hpp:27
QueueBlocking
Definition: Queue.hpp:40