19 const FwSizeType total_needed_size = depth * message_size;
20 FW_ASSERT(storage_size >= total_needed_size, storage_size, depth, message_size);
21 m_internal.
setup(storage, total_needed_size);
22 m_message_size = message_size;
26 FW_ASSERT(m_message_size > 0, m_message_size);
27 FW_ASSERT(m_message_size == size, size, m_message_size);
33 FW_ASSERT(m_message_size <= size, size, m_message_size);
38 return m_internal.
rotate(m_message_size);
42 FW_ASSERT(m_message_size > 0, m_message_size);
51 FW_ASSERT(m_message_size > 0, m_message_size);
uint8_t U8
8-bit unsigned integer
PlatformUIntType NATIVE_UINT_TYPE
PlatformSizeType FwSizeType
Fw::SerializeStatus serialize(const U8 *const buffer, const NATIVE_UINT_TYPE size)
NATIVE_UINT_TYPE get_allocated_size() const
NATIVE_UINT_TYPE get_high_water_mark() const
void setup(U8 *const buffer, const NATIVE_UINT_TYPE size)
void clear_high_water_mark()
Fw::SerializeStatus peek(char &value, NATIVE_UINT_TYPE offset=0) const
Fw::SerializeStatus rotate(NATIVE_UINT_TYPE amount)
NATIVE_UINT_TYPE get_high_water_mark() const
Fw::SerializeStatus enqueue(const U8 *const message, const FwSizeType size)
pushes a fixed-size message onto the back of the queue
void setup(U8 *const storage, const FwSizeType storage_size, const FwSizeType depth, const FwSizeType message_size)
setup the queue object to setup storage
void clear_high_water_mark()
NATIVE_UINT_TYPE getQueueSize() const
Queue()
constructs an uninitialized queue
Fw::SerializeStatus dequeue(U8 *const message, const FwSizeType size)
pops a fixed-size message off the front of the queue
SerializeStatus
forward declaration for string
@ FW_SERIALIZE_OK
Serialization/Deserialization operation was successful.