CMSDK 2.0.1
Cross-platform C++ base library and SDK for the Psyclone AIOS platform
Loading...
Searching...
No Matches
cmlabs::MessageQueueHeader Struct Reference

On-segment header of a circular message queue (legacy 32-bit layout). More...

#include <MemoryQueues.h>

Public Attributes

uint32 size
 Total size of the queue region in bytes (header + buffer).
uint32 count
 Number of messages currently in the queue.
uint32 startPos
 Read offset into the circular buffer.
uint32 endPos
 Write offset into the circular buffer.
uint32 padding
 Alignment/reserved.
uint64 size
 Total queue region size in bytes (header + circular buffer).
uint32 id
 Queue index within qIndex.
uint64 startPos
 Read offset into the circular buffer.
uint64 endPos
 Write offset into the circular buffer.
uint64 padding
 Alignment/reserved.
char name [MAXKEYNAMELEN+1]
 Queue name, used to derive the names of its cross-process mutex/semaphore.

Detailed Description

On-segment header of a circular message queue (legacy 32-bit layout).

On-segment header of one per-process circular message queue (64-bit layout).

Followed in memory by the circular data area of (size - sizeof header) bytes.

Warning
Shared-memory layout; see MemoryManager.h for the ABI/rebuild warning.
Note
Distinct from the 32-bit MessageQueueHeader in MemoryQueues.h; both exist and are not interchangeable (this one shadows/replaces it wherever ProcessMemory.h is included).
Warning
Shared-memory layout; see MemoryManager.h for the ABI/rebuild warning.

Definition at line 28 of file MemoryQueues.h.

Member Data Documentation

◆ count

uint32 cmlabs::MessageQueueHeader::count

Number of messages currently in the queue.

Messages currently queued.

Definition at line 30 of file MemoryQueues.h.

Referenced by cmlabs::ProcessMemory::getQueueSizes().

◆ endPos [1/2]

uint32 cmlabs::MessageQueueHeader::endPos

Write offset into the circular buffer.

Definition at line 32 of file MemoryQueues.h.

Referenced by cmlabs::ProcessMemory::getQueueSizes().

◆ endPos [2/2]

uint64 cmlabs::MessageQueueHeader::endPos

Write offset into the circular buffer.

Definition at line 163 of file ProcessMemory.h.

◆ id

uint32 cmlabs::MessageQueueHeader::id

Queue index within qIndex.

Definition at line 160 of file ProcessMemory.h.

◆ name

char cmlabs::MessageQueueHeader::name[MAXKEYNAMELEN+1]

Queue name, used to derive the names of its cross-process mutex/semaphore.

Definition at line 165 of file ProcessMemory.h.

◆ padding [1/2]

uint32 cmlabs::MessageQueueHeader::padding

Alignment/reserved.

Definition at line 33 of file MemoryQueues.h.

◆ padding [2/2]

uint64 cmlabs::MessageQueueHeader::padding

Alignment/reserved.

Definition at line 164 of file ProcessMemory.h.

◆ size [1/2]

uint32 cmlabs::MessageQueueHeader::size

Total size of the queue region in bytes (header + buffer).

Definition at line 29 of file MemoryQueues.h.

◆ size [2/2]

uint64 cmlabs::MessageQueueHeader::size

Total queue region size in bytes (header + circular buffer).

Definition at line 159 of file ProcessMemory.h.

◆ startPos [1/2]

uint32 cmlabs::MessageQueueHeader::startPos

Read offset into the circular buffer.

Definition at line 31 of file MemoryQueues.h.

Referenced by cmlabs::ProcessMemory::getQueueSizes().

◆ startPos [2/2]

uint64 cmlabs::MessageQueueHeader::startPos

Read offset into the circular buffer.

Definition at line 162 of file ProcessMemory.h.


The documentation for this struct was generated from the following files: