CMSDK
2.0.1
Cross-platform C++ base library and SDK for the Psyclone AIOS platform
Loading...
Searching...
No Matches
ControlMessage.h
Go to the documentation of this file.
1
12
13
#if !defined(_CONTROLMESSAGE_H_)
14
#define _CONTROLMESSAGE_H_
15
16
#include "
PsyTime.h
"
17
#include "
ObjectIDs.h
"
18
19
namespace
cmlabs
{
20
21
26
struct
ControlMessageHeader
{
27
uint32
size
;
28
uint32
cid
;
29
uint64
time
;
30
uint64
from
;
31
uint64
to
;
32
33
uint16
command
;
34
uint16
status
;
35
};
36
49
class
ControlMessage
{
50
public
:
57
ControlMessage
(uint16 command, uint64 from, uint64 to,
char
*
data
= NULL, uint32 dataSize = 0);
60
ControlMessage
(
char
*
data
);
62
~ControlMessage
();
63
64
uint32
getSize
();
65
uint16
getCommand
();
66
uint64
getTime
();
67
uint64
getFrom
();
68
uint64
getTo
();
69
70
uint16
getStatus
();
74
bool
setStatus
(uint16 status);
75
77
static
bool
UnitTest
();
78
80
char
*
data
;
81
};
82
83
}
// namespace cmlabs
84
85
#endif
//_CONTROLMESSAGE_H_
86
ObjectIDs.h
Object type ids used to tag and verify every binary structure in CMSDK memory.
PsyTime.h
CMSDK time: µs-resolution 64-bit timestamps and the Time Mapping Constant (TMC).
cmlabs::ControlMessage::getTo
uint64 getTo()
Definition
ControlMessage.cpp:53
cmlabs::ControlMessage::~ControlMessage
~ControlMessage()
Destructor.
Definition
ControlMessage.cpp:29
cmlabs::ControlMessage::getStatus
uint16 getStatus()
Definition
ControlMessage.cpp:58
cmlabs::ControlMessage::data
char * data
The flat message block (ControlMessageHeader + payload); see class notes on ownership.
Definition
ControlMessage.h:80
cmlabs::ControlMessage::getSize
uint32 getSize()
Definition
ControlMessage.cpp:33
cmlabs::ControlMessage::getTime
uint64 getTime()
Definition
ControlMessage.cpp:43
cmlabs::ControlMessage::UnitTest
static bool UnitTest()
Run the built-in self test.
Definition
ControlMessage.cpp:70
cmlabs::ControlMessage::getCommand
uint16 getCommand()
Definition
ControlMessage.cpp:38
cmlabs::ControlMessage::setStatus
bool setStatus(uint16 status)
Set the status/result code.
Definition
ControlMessage.cpp:63
cmlabs::ControlMessage::ControlMessage
ControlMessage(uint16 command, uint64 from, uint64 to, char *data=NULL, uint32 dataSize=0)
Create a new control message.
Definition
ControlMessage.cpp:12
cmlabs::ControlMessage::getFrom
uint64 getFrom()
Definition
ControlMessage.cpp:48
cmlabs
Definition
Base64.h:21
cmlabs::ControlMessageHeader
Wire/shared-memory header of a ControlMessage; any payload follows immediately after.
Definition
ControlMessage.h:26
cmlabs::ControlMessageHeader::status
uint16 status
Status/result code, typically filled in by the receiver.
Definition
ControlMessage.h:34
cmlabs::ControlMessageHeader::size
uint32 size
Total block size in bytes (header + payload).
Definition
ControlMessage.h:27
cmlabs::ControlMessageHeader::time
uint64 time
Creation time in microseconds since epoch.
Definition
ControlMessage.h:29
cmlabs::ControlMessageHeader::from
uint64 from
Sender id (wider than DataMessage's: can encode node+component).
Definition
ControlMessage.h:30
cmlabs::ControlMessageHeader::to
uint64 to
Addressee id.
Definition
ControlMessage.h:31
cmlabs::ControlMessageHeader::command
uint16 command
Command code — what the receiver should do.
Definition
ControlMessage.h:33
cmlabs::ControlMessageHeader::cid
uint32 cid
Object id, always CONTROLMESSAGEID for a valid message.
Definition
ControlMessage.h:28
include
ControlMessage.h
Generated by
1.15.0