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

Root header of the node's master shared-memory segment. More...

#include <MemoryManager.h>

Public Attributes

uint64 size
 Total size of this segment in bytes.
uint32 cid
 Check/magic id used to validate the segment on attach.
uint16 nodeID
 Cluster-wide id of this node.
uint16 status
 Node readiness, 0-10; 10 means fully ready.
uint64 createdTime
 Creation timestamp of the segment (µs).
uint64 currentTMC
 Current time-master clock value (µs) for cluster time sync.
int64 localSyncAdjustment
 Signed offset applied to local clock to match the time master.
uint64 memAlloc
 Total bytes currently allocated across all segments.
uint64 memUsage
 Total bytes currently in use across all segments.
uint64 currentCPUTicks
 Aggregate CPU ticks consumed by the node.
uint32 componentCount
 Number of registered components.
uint32 throughputCount
 Total messages passed through the node.
uint64 throughputSize
 Total message bytes passed through the node.
uint32 dynamicShmemSerial
 Serial of the dynamic (temporal) segment; bumped on every resize.
uint32 processShmemSerial
 Serial of the process segment; bumped on every resize.
uint32 componentShmemSerial
 Serial of the component segment; bumped on every resize.
uint32 datamapsShmemSerial
 Serial of the data-maps segment; bumped on every resize.
uint32 dynamicShmemLocks
 Diagnostic lock counter for the dynamic segment.
uint32 processShmemLocks
 Diagnostic lock counter for the process segment.
uint32 componentShmemLocks
 Diagnostic lock counter for the component segment.
uint64 dynamicShmemSize
 Current byte size of the dynamic (temporal) segment.
uint64 processShmemSize
 Current byte size of the process segment.
uint64 componentShmemSize
 Current byte size of the component segment.
uint64 datamapsShmemSize
 Current byte size of the data-maps segment.

Detailed Description

Root header of the node's master shared-memory segment.

The master segment is the rendezvous point for all other segments of a node instance: it stores their current sizes and serial numbers. Whenever a segment is resized it is re-created under a new serial; attached processes compare their cached serial against the value here (see the CHECK*MEMORYSERIAL macros) and re-open the segment when stale. It also carries node-wide time synchronisation and aggregate usage counters.

Warning
Shared-memory layout; see the file-level ABI warning before changing.

Definition at line 286 of file MemoryManager.h.

Member Data Documentation

◆ cid

uint32 cmlabs::MemoryMasterStruct::cid

Check/magic id used to validate the segment on attach.

Definition at line 288 of file MemoryManager.h.

◆ componentCount

uint32 cmlabs::MemoryMasterStruct::componentCount

Number of registered components.

Definition at line 298 of file MemoryManager.h.

◆ componentShmemLocks

uint32 cmlabs::MemoryMasterStruct::componentShmemLocks

Diagnostic lock counter for the component segment.

Definition at line 307 of file MemoryManager.h.

◆ componentShmemSerial

uint32 cmlabs::MemoryMasterStruct::componentShmemSerial

Serial of the component segment; bumped on every resize.

Definition at line 303 of file MemoryManager.h.

◆ componentShmemSize

uint64 cmlabs::MemoryMasterStruct::componentShmemSize

Current byte size of the component segment.

Definition at line 311 of file MemoryManager.h.

◆ createdTime

uint64 cmlabs::MemoryMasterStruct::createdTime

Creation timestamp of the segment (µs).

Definition at line 291 of file MemoryManager.h.

◆ currentCPUTicks

uint64 cmlabs::MemoryMasterStruct::currentCPUTicks

Aggregate CPU ticks consumed by the node.

Definition at line 297 of file MemoryManager.h.

◆ currentTMC

uint64 cmlabs::MemoryMasterStruct::currentTMC

Current time-master clock value (µs) for cluster time sync.

Definition at line 293 of file MemoryManager.h.

◆ datamapsShmemSerial

uint32 cmlabs::MemoryMasterStruct::datamapsShmemSerial

Serial of the data-maps segment; bumped on every resize.

Definition at line 304 of file MemoryManager.h.

◆ datamapsShmemSize

uint64 cmlabs::MemoryMasterStruct::datamapsShmemSize

Current byte size of the data-maps segment.

Definition at line 312 of file MemoryManager.h.

◆ dynamicShmemLocks

uint32 cmlabs::MemoryMasterStruct::dynamicShmemLocks

Diagnostic lock counter for the dynamic segment.

Definition at line 305 of file MemoryManager.h.

◆ dynamicShmemSerial

uint32 cmlabs::MemoryMasterStruct::dynamicShmemSerial

Serial of the dynamic (temporal) segment; bumped on every resize.

Definition at line 301 of file MemoryManager.h.

◆ dynamicShmemSize

uint64 cmlabs::MemoryMasterStruct::dynamicShmemSize

Current byte size of the dynamic (temporal) segment.

Definition at line 309 of file MemoryManager.h.

◆ localSyncAdjustment

int64 cmlabs::MemoryMasterStruct::localSyncAdjustment

Signed offset applied to local clock to match the time master.

Definition at line 294 of file MemoryManager.h.

◆ memAlloc

uint64 cmlabs::MemoryMasterStruct::memAlloc

Total bytes currently allocated across all segments.

Definition at line 295 of file MemoryManager.h.

◆ memUsage

uint64 cmlabs::MemoryMasterStruct::memUsage

Total bytes currently in use across all segments.

Definition at line 296 of file MemoryManager.h.

◆ nodeID

uint16 cmlabs::MemoryMasterStruct::nodeID

Cluster-wide id of this node.

Definition at line 289 of file MemoryManager.h.

◆ processShmemLocks

uint32 cmlabs::MemoryMasterStruct::processShmemLocks

Diagnostic lock counter for the process segment.

Definition at line 306 of file MemoryManager.h.

◆ processShmemSerial

uint32 cmlabs::MemoryMasterStruct::processShmemSerial

Serial of the process segment; bumped on every resize.

Definition at line 302 of file MemoryManager.h.

◆ processShmemSize

uint64 cmlabs::MemoryMasterStruct::processShmemSize

Current byte size of the process segment.

Definition at line 310 of file MemoryManager.h.

◆ size

uint64 cmlabs::MemoryMasterStruct::size

Total size of this segment in bytes.

Definition at line 287 of file MemoryManager.h.

◆ status

uint16 cmlabs::MemoryMasterStruct::status

Node readiness, 0-10; 10 means fully ready.

Definition at line 290 of file MemoryManager.h.

◆ throughputCount

uint32 cmlabs::MemoryMasterStruct::throughputCount

Total messages passed through the node.

Definition at line 299 of file MemoryManager.h.

◆ throughputSize

uint64 cmlabs::MemoryMasterStruct::throughputSize

Total message bytes passed through the node.

Definition at line 300 of file MemoryManager.h.


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