Skip to content

Commit 91c8b34

Browse files
Add doc comment to new classes and struct
1 parent 58bebd5 commit 91c8b34

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,17 +26,20 @@ 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

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

42+
//! Returns pointer to struct containing type-erased message header and payload pointers
4043
messagePointerData *GetPointers(void)
4144
{
4245
reference.payload = pointers.payload;
@@ -45,15 +48,17 @@ class MessageBase{
4548
}
4649
};
4750

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

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

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

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

0 commit comments

Comments
 (0)