Skip to content

Commit c91392d

Browse files
Add doc comment to new classes and struct
1 parent 16d4eb2 commit c91392d

File tree

1 file changed

+14
-7
lines changed

1 file changed

+14
-7
lines changed

src/architecture/messaging/messaging.h

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -26,18 +26,21 @@ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
2626
#include <stdlib.h>
2727

2828

29+
/*! Holds type-erased pointers to a message's header and payload */
2930
struct messagePointerData{
30-
void *header;
31-
void *payload;
31+
void *header; //!< pointer to the message header
32+
void *payload; //!< pointer to the message payload
3233
};
3334

3435
typedef struct messagePointerData messagePointerData;
3536

37+
/*! A base class for Message that enables type-erased pointer access */
3638
class MessageBase{
3739
public:
38-
messagePointerData pointers;
39-
messagePointerData reference;
40+
messagePointerData pointers; //!< stores the message's header/payload pointers
41+
messagePointerData reference; //!< copy returned by GetPointers to avoid dangling
4042

43+
//! Returns pointer to struct containing type-erased message header and payload pointers
4144
messagePointerData *GetPointers(void)
4245
{
4346
reference.payload = pointers.payload;
@@ -46,15 +49,17 @@ class MessageBase{
4649
}
4750
};
4851

52+
/*! A base class for ReadFunctor that enables type-erased pointer access */
4953
class ReadFunctorBase{
5054
public :
51-
void *headerVoidPtr; //! TODO: kludge to fix PITL, do we want to keep this member?
52-
void *payloadVoidPtr;
53-
messagePointerData reference;
55+
void *headerVoidPtr; //!< type-erased header pointer for external interface access
56+
void *payloadVoidPtr; //!< type-erased payload pointer for external interface access
57+
messagePointerData reference; //!< copy returned by GetPointers
5458

5559
//! constructor
5660
ReadFunctorBase() : headerVoidPtr(NULL), payloadVoidPtr(NULL) {}
5761

62+
//! Returns pointer to struct containing type-erased header and payload pointers
5863
messagePointerData *GetPointers(void)
5964
{
6065
reference.header = headerVoidPtr;
@@ -335,6 +340,8 @@ class Recorder : public SysModel{
335340
Recorder(void* message, uint64_t timeDiff = 0){
336341
this->timeInterval = timeDiff;
337342

343+
// C messages store header followed immediately by payload in memory.
344+
// Advance past header to get payload pointer.
338345
auto* headerPtr = static_cast<MsgHeader*>(message);
339346
auto* payloadPtr = reinterpret_cast<messageType*>(headerPtr + 1);
340347

0 commit comments

Comments
 (0)