|
CMSDK 2.0.1
Cross-platform C++ base library and SDK for the Psyclone AIOS platform
|
Object type ids used to tag and verify every binary structure in CMSDK memory. More...
#include "Types.h"Go to the source code of this file.
Namespaces | |
| namespace | cmlabs |
Macros | |
| #define | GenObjID(n) |
| Generate a self-verifying object id from a small type number: the number is duplicated in the high and low 16 bits. | |
| #define | VerObjID(id) |
| Verify an object id's internal redundancy (both halves must agree and the id must be non-zero). | |
| #define | GetObjID(data) |
| Extract the cid field from a binary object block: the uint32 at byte offset 4 (after the leading size field). | |
| #define | VerObj(data) |
| Extract and verify the cid of a binary object block in one step. | |
Built-in object type ids | |
Ids for the core value types stored inside DataMessages (UNUSEDID..CHARDATAINFOID), the shared-memory subsystems, and the message/spec structures. The ...INFOID variants mark "draft" placeholder entries carrying only name+size instead of the full payload (see DataMessage draft constructors). | |
| #define | UNUSEDID GenObjID( 1 ) |
| #define | CONSTCHARID GenObjID( 2 ) |
| #define | TIMEID GenObjID( 3 ) |
| #define | CHARDATAID GenObjID( 4 ) |
| #define | INTID GenObjID( 5 ) |
| #define | DOUBLEID GenObjID( 6 ) |
| #define | CONSTCHARINFOID GenObjID( 7 ) |
| #define | CHARDATAINFOID GenObjID( 8 ) |
| #define | PSYCLONEINDEXID GenObjID( 10 ) |
| #define | PSYCLONEMASTERID GenObjID( 11 ) |
| #define | TEMPORALMEMORYID GenObjID( 12 ) |
| #define | PROCESSMEMORYID GenObjID( 13 ) |
| #define | COMPONENTMEMORYID GenObjID( 14 ) |
| #define | DATAMAPSMEMORYID GenObjID( 15 ) |
| #define | DATAMESSAGEOLDID GenObjID( 20 ) |
| #define | CONTROLMESSAGEID GenObjID( 21 ) |
| #define | LOGENTRYID GenObjID( 22 ) |
| #define | TIMESYNCDATA GenObjID( 23 ) |
| #define | TRIGGERDATA GenObjID( 24 ) |
| #define | RETRIEVEDATA GenObjID( 25 ) |
| #define | POSTDATA GenObjID( 26 ) |
| #define | COMPONENTSETUPDATA GenObjID( 27 ) |
| #define | IDRESERVATION GenObjID( 28 ) |
| #define | TYPELEVELID GenObjID( 29 ) |
| #define | CONTEXTLEVELID GenObjID( 30 ) |
| #define | CRANKID GenObjID( 31 ) |
| #define | COMPONENTID GenObjID( 32 ) |
| #define | TAGID GenObjID( 33 ) |
| #define | NODEINFOPACKID GenObjID( 34 ) |
| #define | NODEMAPID GenObjID( 35 ) |
| #define | DATAMESSAGEINFOID GenObjID( 36 ) |
| #define | DATAMESSAGEDRAFTID GenObjID( 37 ) |
| #define | MEMORYREQUESTSERVERID GenObjID( 38 ) |
| #define | DYNAMICMEMORYID GenObjID( 39 ) |
| #define | OBSERVATIONID GenObjID( 40 ) |
| #define | DATAMESSAGEID GenObjID( 41 ) |
Variables | |
Built-in control message types | |
Predefined PsyType values (root level 1 = control) used by the runtime itself for self-test, log printing and ping/pong liveness checks. | |
| static struct PsyType | cmlabs::CTRL_TEST = { { 1,10001,0,0,0,0,0,0,0,0,0,0,0,0,0,0 } } |
| static struct PsyType | cmlabs::CTRL_LOGPRINT = { { 1,10002,0,0,0,0,0,0,0,0,0,0,0,0,0,0 } } |
| static struct PsyType | cmlabs::CTRL_PING = { { 1,10003,0,0,0,0,0,0,0,0,0,0,0,0,0,0 } } |
| static struct PsyType | cmlabs::CTRL_PING_REPLY = { { 1,10004,0,0,0,0,0,0,0,0,0,0,0,0,0,0 } } |
Object type ids used to tag and verify every binary structure in CMSDK memory.
Every flat binary object in Psyclone (messages, memory maps, index entries, specs, ...) carries a uint32 cid field at byte offset 4 identifying what the block is. The ids are generated by GenObjID(n), which stores the small type number redundantly in the low and high 16 bits so that a corrupted or misaligned block can be detected cheaply (VerObjID). This is the first line of defence when reading structures out of shared memory, network buffers or recordings.
Definition in file ObjectIDs.h.
| #define CHARDATAID GenObjID( 4 ) |
Definition at line 40 of file ObjectIDs.h.
Referenced by cmlabs::DataMessage::fillInDraftUserDataFrom(), cmlabs::DataMessage::getAsBool(), cmlabs::DataMessage::getAsFloatArray(), cmlabs::DataMessage::getAsFloatMap(), cmlabs::DataMessage::getAsIntArray(), cmlabs::DataMessage::getAsIntMap(), cmlabs::DataMessage::getAsString(), cmlabs::DataMessage::getAsStringArray(), cmlabs::DataMessage::getAsStringMap(), cmlabs::DataMessage::getData(), cmlabs::DataMessage::getDataCopy(), cmlabs::GetDataTypeID(), cmlabs::GetDataTypeName(), cmlabs::DataMessage::getUserEntriesAsJSON(), cmlabs::DataMessage::getUserEntriesAsString(), cmlabs::DataMessage::hasData(), cmlabs::DataMessage::setData(), cmlabs::DataMessage::toXML(), and cmlabs::DataMessage::UnitTest().
| #define CHARDATAINFOID GenObjID( 8 ) |
Definition at line 44 of file ObjectIDs.h.
Referenced by cmlabs::DataMessage::fillInDraftUserDataFrom(), cmlabs::DataMessage::getAsBool(), cmlabs::DataMessage::getAsString(), cmlabs::GetDataTypeID(), cmlabs::GetDataTypeName(), cmlabs::DataMessage::getUserEntriesAsJSON(), cmlabs::DataMessage::getUserEntriesAsString(), and cmlabs::DataMessage::toXML().
| #define COMPONENTID GenObjID( 32 ) |
Definition at line 65 of file ObjectIDs.h.
| #define COMPONENTMEMORYID GenObjID( 14 ) |
Definition at line 50 of file ObjectIDs.h.
Referenced by cmlabs::ComponentMemory::create(), and cmlabs::ComponentMemory::open().
| #define COMPONENTSETUPDATA GenObjID( 27 ) |
Definition at line 60 of file ObjectIDs.h.
Referenced by cmlabs::ComponentSetup::reset().
| #define CONSTCHARID GenObjID( 2 ) |
Definition at line 38 of file ObjectIDs.h.
Referenced by cmlabs::DataMessage::copyUserEntriesFromMessage(), cmlabs::ExtractStringFromMessage(), cmlabs::DataMessage::fillInDraftUserDataFrom(), cmlabs::DataMessage::findKey(), cmlabs::DataMessage::getArraySize(), cmlabs::DataMessage::getAsBool(), cmlabs::DataMessage::getAsFloatArray(), cmlabs::DataMessage::getAsFloatMap(), cmlabs::DataMessage::getAsIntArray(), cmlabs::DataMessage::getAsIntMap(), cmlabs::DataMessage::getAsString(), cmlabs::DataMessage::getAsStringArray(), cmlabs::DataMessage::getAsStringMap(), cmlabs::DataMessage::getAttachedMessageArray(), cmlabs::DataMessage::getAttachedMessageMap(), cmlabs::GetDataTypeID(), cmlabs::GetDataTypeName(), cmlabs::DataMessage::getDoubleArray(), cmlabs::DataMessage::getDoubleMap(), cmlabs::DataMessage::getFloatArray(), cmlabs::DataMessage::getFloatMap(), cmlabs::DataMessage::getIntArray(), cmlabs::DataMessage::getIntMap(), cmlabs::DataMessage::getKeyType(), cmlabs::DataMessage::getMapSize(), cmlabs::DataMessage::getString(), cmlabs::DataMessage::getString(), cmlabs::DataMessage::getStringArray(), cmlabs::DataMessage::getStringMap(), cmlabs::DataMessage::getTimeArray(), cmlabs::DataMessage::getTimeMap(), cmlabs::DataMessage::getUserEntriesAsJSON(), cmlabs::DataMessage::getUserEntriesAsString(), cmlabs::DataMessage::hasString(), cmlabs::DataMessage::isArrayContent(), cmlabs::DataMessage::isMapContent(), cmlabs::DataMessage::setRawData(), cmlabs::DataMessage::setString(), cmlabs::DataMessage::toJSON(), cmlabs::DataMessage::toXML(), and cmlabs::DataMessage::UnitTest().
| #define CONSTCHARINFOID GenObjID( 7 ) |
Definition at line 43 of file ObjectIDs.h.
Referenced by cmlabs::DataMessage::fillInDraftUserDataFrom(), cmlabs::DataMessage::getAsBool(), cmlabs::DataMessage::getAsString(), cmlabs::GetDataTypeID(), cmlabs::GetDataTypeName(), cmlabs::DataMessage::getUserEntriesAsJSON(), cmlabs::DataMessage::getUserEntriesAsString(), and cmlabs::DataMessage::toXML().
| #define CONTEXTLEVELID GenObjID( 30 ) |
Definition at line 63 of file ObjectIDs.h.
| #define CONTROLMESSAGEID GenObjID( 21 ) |
Definition at line 54 of file ObjectIDs.h.
Referenced by cmlabs::ControlMessage::ControlMessage().
| #define CRANKID GenObjID( 31 ) |
Definition at line 64 of file ObjectIDs.h.
| #define DATAMAPSMEMORYID GenObjID( 15 ) |
Definition at line 51 of file ObjectIDs.h.
Referenced by cmlabs::DataMapsMemory::open().
| #define DATAMESSAGEDRAFTID GenObjID( 37 ) |
Definition at line 70 of file ObjectIDs.h.
Referenced by cmlabs::DataMessage::fillInDraftUserDataFrom(), cmlabs::DataMessage::getUserEntriesAsJSON(), cmlabs::DataMessage::getUserEntriesAsString(), cmlabs::DataMessage::toJSON(), and cmlabs::DataMessage::toXML().
| #define DATAMESSAGEID GenObjID( 41 ) |
Definition at line 75 of file ObjectIDs.h.
Referenced by cmlabs::DataMessage::addTimeUsage(), cmlabs::MessageProtocol::CheckBufferForCompatibility(), cmlabs::DataMessage::ConvertDataFromOlderMessageFormat(), cmlabs::DataMessage::copyUserEntriesFromMessage(), cmlabs::DataMessage::DataMessage(), cmlabs::DataMessage::DataMessage(), cmlabs::DataMessage::DataMessage(), cmlabs::DataMessage::DataMessage(), cmlabs::DataMessage::DataMessage(), cmlabs::DataMessage::DataMessage(), cmlabs::DataMessage::DataMessage(), cmlabs::DataMessage::DataMessage(), cmlabs::DataMessage::DataMessage(), cmlabs::DataMessage::deleteEntry(), cmlabs::DataMessage::fillInDraftUserDataFrom(), cmlabs::DataMessage::findKey(), cmlabs::DataMessage::findSpace(), cmlabs::DataMessage::getArraySize(), cmlabs::DataMessage::getAsBool(), cmlabs::DataMessage::getAsFloatArray(), cmlabs::DataMessage::getAsFloatMap(), cmlabs::DataMessage::getAsIntArray(), cmlabs::DataMessage::getAsIntMap(), cmlabs::DataMessage::getAsString(), cmlabs::DataMessage::getAsStringArray(), cmlabs::DataMessage::getAsStringMap(), cmlabs::DataMessage::getAttachedMessageArray(), cmlabs::DataMessage::getAttachedMessageCopy(), cmlabs::DataMessage::getAttachedMessageMap(), cmlabs::DataMessage::getChainCount(), cmlabs::DataMessage::getChainCPUTime(), cmlabs::DataMessage::getChainWallTime(), cmlabs::DataMessage::getContextChange(), cmlabs::DataMessage::getCreatedTime(), cmlabs::DataMessage::getCycleCPUTime(), cmlabs::DataMessage::getCycleWallTime(), cmlabs::GetDataTypeID(), cmlabs::GetDataTypeName(), cmlabs::DataMessage::getDestination(), cmlabs::DataMessage::getDoubleArray(), cmlabs::DataMessage::getDoubleMap(), cmlabs::DataMessage::getEOL(), cmlabs::DataMessage::getFloatArray(), cmlabs::DataMessage::getFloatMap(), cmlabs::DataMessage::getFrom(), cmlabs::DataMessage::getIntArray(), cmlabs::DataMessage::getIntMap(), cmlabs::DataMessage::getKeyType(), cmlabs::DataMessage::getMapSize(), cmlabs::DataMessage::getMemID(), cmlabs::DataMessage::getOrigin(), cmlabs::DataMessage::getPolicy(), cmlabs::DataMessage::getPriority(), cmlabs::DataMessage::getRawData(), cmlabs::DataMessage::getRecvTime(), cmlabs::DataMessage::getReference(), cmlabs::DataMessage::getSendTime(), cmlabs::DataMessage::getSerial(), cmlabs::DataMessage::getSize(), cmlabs::DataMessage::getStatus(), cmlabs::DataMessage::getStringArray(), cmlabs::DataMessage::getStringMap(), cmlabs::DataMessage::getSystemID(), cmlabs::DataMessage::getTag(), cmlabs::DataMessage::getTimeArray(), cmlabs::DataMessage::getTimeMap(), cmlabs::DataMessage::getTo(), cmlabs::DataMessage::getTTL(), cmlabs::DataMessage::getType(), cmlabs::DataMessage::getUserEntriesAsJSON(), cmlabs::DataMessage::getUserEntriesAsString(), cmlabs::DataMessage::hasMessage(), cmlabs::DataMessage::isArrayContent(), cmlabs::DataMessage::isMapContent(), cmlabs::DataMessage::isValid(), cmlabs::MessageProtocol::ReceiveMessage(), cmlabs::PsyAPI::retrieve(), cmlabs::DataMessage::setAttachedMessage(), cmlabs::DataMessage::setChainCount(), cmlabs::DataMessage::setChainCPUTime(), cmlabs::DataMessage::setChainWallTime(), cmlabs::DataMessage::setContextChange(), cmlabs::DataMessage::setCreatedTime(), cmlabs::DataMessage::setCycleCPUTime(), cmlabs::DataMessage::setCycleWallTime(), cmlabs::DataMessage::setDestination(), cmlabs::DataMessage::setEOL(), cmlabs::DataMessage::setFrom(), cmlabs::DataMessage::setMemID(), cmlabs::DataMessage::setMultiple(), cmlabs::DataMessage::setOrigin(), cmlabs::DataMessage::setPolicy(), cmlabs::DataMessage::setPriority(), cmlabs::DataMessage::setRecvTime(), cmlabs::DataMessage::setReference(), cmlabs::DataMessage::setSendTime(), cmlabs::DataMessage::setSerial(), cmlabs::DataMessage::setStatus(), cmlabs::DataMessage::setSystemID(), cmlabs::DataMessage::setTag(), cmlabs::DataMessage::setTo(), cmlabs::DataMessage::setTTL(), cmlabs::DataMessage::setType(), cmlabs::DataMessage::toJSON(), cmlabs::DataMessageHeader::toJSON(), cmlabs::DataMessage::toXML(), cmlabs::DataMessageHeader::toXML(), cmlabs::DataMessage::UnitTest(), and cmlabs::MessageIndex::UnitTest().
| #define DATAMESSAGEINFOID GenObjID( 36 ) |
Definition at line 69 of file ObjectIDs.h.
Referenced by cmlabs::DataMessage::fillInDraftUserDataFrom(), cmlabs::DataMessage::getAsBool(), cmlabs::DataMessage::getAsString(), cmlabs::GetDataTypeID(), cmlabs::GetDataTypeName(), cmlabs::DataMessage::getUserEntriesAsJSON(), cmlabs::DataMessage::getUserEntriesAsString(), cmlabs::ReplayIndexEntry::isValid(), cmlabs::ReplayIndexEntry::reset(), and cmlabs::DataMessage::toXML().
| #define DATAMESSAGEOLDID GenObjID( 20 ) |
Definition at line 53 of file ObjectIDs.h.
Referenced by cmlabs::DataMessage::ConvertDataFromOlderMessageFormat(), cmlabs::DataMessage::DataMessage(), cmlabs::DataMessage::DataMessage(), and cmlabs::DataMessage::DataMessage().
| #define DOUBLEID GenObjID( 6 ) |
Definition at line 42 of file ObjectIDs.h.
Referenced by cmlabs::ExtractFloatFromMessage(), cmlabs::DataMessage::fillInDraftUserDataFrom(), cmlabs::DataMessage::getAsBool(), cmlabs::DataMessage::getAsFloatArray(), cmlabs::DataMessage::getAsFloatMap(), cmlabs::DataMessage::getAsIntArray(), cmlabs::DataMessage::getAsIntMap(), cmlabs::DataMessage::getAsString(), cmlabs::DataMessage::getAsStringArray(), cmlabs::DataMessage::getAsStringMap(), cmlabs::GetDataTypeID(), cmlabs::GetDataTypeName(), cmlabs::DataMessage::getDouble(), cmlabs::DataMessage::getDoubleArray(), cmlabs::DataMessage::getDoubleMap(), cmlabs::DataMessage::getFloat(), cmlabs::DataMessage::getFloatArray(), cmlabs::DataMessage::getFloatMap(), cmlabs::DataMessage::getUserEntriesAsJSON(), cmlabs::DataMessage::getUserEntriesAsString(), cmlabs::DataMessage::hasFloat(), cmlabs::DataMessage::setDouble(), cmlabs::DataMessage::setFloat(), cmlabs::DataMessage::toXML(), and cmlabs::DataMessage::UnitTest().
| #define DYNAMICMEMORYID GenObjID( 39 ) |
Definition at line 73 of file ObjectIDs.h.
| #define GenObjID | ( | n | ) |
Generate a self-verifying object id from a small type number: the number is duplicated in the high and low 16 bits.
Definition at line 22 of file ObjectIDs.h.
| #define GetObjID | ( | data | ) |
Extract the cid field from a binary object block: the uint32 at byte offset 4 (after the leading size field).
Definition at line 26 of file ObjectIDs.h.
Referenced by cmlabs::MessageProtocol::CheckBufferForCompatibility(), cmlabs::DataMessage::DataMessage(), cmlabs::DataMessage::DataMessage(), cmlabs::DataMessage::DataMessage(), cmlabs::DataMessage::DataMessage(), cmlabs::DataMessage::DataMessage(), cmlabs::DataMessage::isValid(), cmlabs::MessageProtocol::ReceiveMessage(), cmlabs::PsyAPI::retrieve(), and cmlabs::MessageIndex::UnitTest().
| #define IDRESERVATION GenObjID( 28 ) |
Definition at line 61 of file ObjectIDs.h.
| #define INTID GenObjID( 5 ) |
Definition at line 41 of file ObjectIDs.h.
Referenced by cmlabs::ExtractIntFromMessage(), cmlabs::DataMessage::fillInDraftUserDataFrom(), cmlabs::DataMessage::getAsBool(), cmlabs::DataMessage::getAsFloatArray(), cmlabs::DataMessage::getAsFloatMap(), cmlabs::DataMessage::getAsIntArray(), cmlabs::DataMessage::getAsIntMap(), cmlabs::DataMessage::getAsString(), cmlabs::DataMessage::getAsStringArray(), cmlabs::DataMessage::getAsStringMap(), cmlabs::GetDataTypeID(), cmlabs::GetDataTypeName(), cmlabs::DataMessage::getInt(), cmlabs::DataMessage::getIntArray(), cmlabs::DataMessage::getIntMap(), cmlabs::DataMessage::getUserEntriesAsJSON(), cmlabs::DataMessage::getUserEntriesAsString(), cmlabs::DataMessage::hasInteger(), cmlabs::DataMessage::setInt(), cmlabs::DataMessage::toXML(), and cmlabs::DataMessage::UnitTest().
| #define LOGENTRYID GenObjID( 22 ) |
Definition at line 55 of file ObjectIDs.h.
Referenced by cmlabs::PsyAPI::logPrint(), cmlabs::LogSystem::LogSystemDebug(), and cmlabs::LogSystem::LogSystemPrint().
| #define MEMORYREQUESTSERVERID GenObjID( 38 ) |
Definition at line 72 of file ObjectIDs.h.
Referenced by cmlabs::MemoryRequestServer::init().
| #define NODEINFOPACKID GenObjID( 34 ) |
Definition at line 67 of file ObjectIDs.h.
| #define NODEMAPID GenObjID( 35 ) |
Definition at line 68 of file ObjectIDs.h.
| #define OBSERVATIONID GenObjID( 40 ) |
Definition at line 74 of file ObjectIDs.h.
Referenced by cmlabs::GenericObservation< T >::GenericObservation(), cmlabs::GenericObservation< T >::GenericObservation(), cmlabs::GetObsTypeFromRawData(), and cmlabs::Observations_UnitTest().
| #define POSTDATA GenObjID( 26 ) |
Definition at line 59 of file ObjectIDs.h.
| #define PROCESSMEMORYID GenObjID( 13 ) |
Definition at line 49 of file ObjectIDs.h.
Referenced by cmlabs::ProcessMemory::create(), and cmlabs::ProcessMemory::open().
| #define PSYCLONEINDEXID GenObjID( 10 ) |
Definition at line 46 of file ObjectIDs.h.
Referenced by cmlabs::PsycloneIndex::init().
| #define PSYCLONEMASTERID GenObjID( 11 ) |
Definition at line 47 of file ObjectIDs.h.
Referenced by cmlabs::MasterMemory::create(), and cmlabs::MasterMemory::open().
| #define RETRIEVEDATA GenObjID( 25 ) |
Definition at line 58 of file ObjectIDs.h.
| #define TAGID GenObjID( 33 ) |
Definition at line 66 of file ObjectIDs.h.
| #define TEMPORALMEMORYID GenObjID( 12 ) |
Definition at line 48 of file ObjectIDs.h.
Referenced by cmlabs::TemporalMemory::create(), and cmlabs::TemporalMemory::open().
| #define TIMEID GenObjID( 3 ) |
Definition at line 39 of file ObjectIDs.h.
Referenced by cmlabs::ExtractTimeFromMessage(), cmlabs::DataMessage::fillInDraftUserDataFrom(), cmlabs::DataMessage::getAsBool(), cmlabs::DataMessage::getAsFloatArray(), cmlabs::DataMessage::getAsFloatMap(), cmlabs::DataMessage::getAsIntArray(), cmlabs::DataMessage::getAsIntMap(), cmlabs::DataMessage::getAsString(), cmlabs::DataMessage::getAsStringArray(), cmlabs::DataMessage::getAsStringMap(), cmlabs::GetDataTypeName(), cmlabs::DataMessage::getTime(), cmlabs::DataMessage::getTimeArray(), cmlabs::DataMessage::getTimeMap(), cmlabs::DataMessage::getUserEntriesAsJSON(), cmlabs::DataMessage::getUserEntriesAsString(), cmlabs::DataMessage::hasTime(), cmlabs::DataMessage::setTime(), cmlabs::DataMessage::toXML(), and cmlabs::DataMessage::UnitTest().
| #define TIMESYNCDATA GenObjID( 23 ) |
Definition at line 56 of file ObjectIDs.h.
| #define TRIGGERDATA GenObjID( 24 ) |
Definition at line 57 of file ObjectIDs.h.
Referenced by cmlabs::TriggerSpec::reset().
| #define TYPELEVELID GenObjID( 29 ) |
Definition at line 62 of file ObjectIDs.h.
| #define UNUSEDID GenObjID( 1 ) |
Definition at line 37 of file ObjectIDs.h.
Referenced by cmlabs::DataMessage::findSpace(), and cmlabs::DataMessage::removeEntry().
| #define VerObj | ( | data | ) |
Extract and verify the cid of a binary object block in one step.
Definition at line 28 of file ObjectIDs.h.
Referenced by cmlabs::ControlMessage::getCommand(), cmlabs::ControlMessage::getFrom(), cmlabs::ControlMessage::getSize(), cmlabs::ControlMessage::getStatus(), cmlabs::ControlMessage::getTime(), cmlabs::ControlMessage::getTo(), and cmlabs::ControlMessage::setStatus().
| #define VerObjID | ( | id | ) |
Verify an object id's internal redundancy (both halves must agree and the id must be non-zero).
Definition at line 24 of file ObjectIDs.h.