Fawkes API Fawkes Development Version
fawkes::FawkesNetworkMessageContent Class Referenceabstract

Fawkes network message content. More...

#include <>>

Inheritance diagram for fawkes::FawkesNetworkMessageContent:

Public Member Functions

 FawkesNetworkMessageContent ()
 Constructor. More...
 
virtual ~FawkesNetworkMessageContent ()
 Virtual empty destructor. More...
 
virtual void serialize ()=0
 Serialize message content. More...
 
virtual void * payload ()
 Return pointer to payload. More...
 
virtual size_t payload_size ()
 Return payload size. More...
 

Protected Member Functions

void copy_payload (size_t offset, const void *buf, size_t len)
 Copy payload into payload buffer to a specified offset. More...
 

Protected Attributes

void * _payload
 Pointer to payload. More...
 
size_t _payload_size
 Payloda size. More...
 

Detailed Description

Fawkes network message content.

Interface for complex Fawkes network messages. Use this type if you want either a nicer interface to your network message or if you need a more complex kind of message type, for example by using DynamicBuffer.

Implement all accessor methods that you need and add any data you want. In the end you have to implement serialize() to create a single contiguous buffer that contains all the data that has to be sent. Make _payload point to this buffer and _payload_size contain the size of the buffer.

See also
DynamicBuffer
Author
Tim Niemueller

Definition at line 33 of file message_content.h.

Constructor & Destructor Documentation

◆ FawkesNetworkMessageContent()

fawkes::FawkesNetworkMessageContent::FawkesNetworkMessageContent ( )

Constructor.

Definition at line 53 of file message_content.cpp.

References _payload, and _payload_size.

◆ ~FawkesNetworkMessageContent()

fawkes::FawkesNetworkMessageContent::~FawkesNetworkMessageContent ( )
virtual

Virtual empty destructor.

Definition at line 60 of file message_content.cpp.

Member Function Documentation

◆ copy_payload()

void fawkes::FawkesNetworkMessageContent::copy_payload ( size_t  offset,
const void *  buf,
size_t  len 
)
protected

Copy payload into payload buffer to a specified offset.

This assumes that you have made sure that the buffer is big enough!

Parameters
offsetoffset in _payload where to copy the data to
bufbuffer to copy from
lennumber of bytes to copy from buf

Definition at line 99 of file message_content.cpp.

References _payload.

Referenced by fawkes::NetworkLoggerMessageContent::NetworkLoggerMessageContent(), fawkes::BlackBoardInterfaceListContent::serialize(), fawkes::ConfigListContent::serialize(), and fawkes::PluginListMessage::serialize().

◆ payload()

void * fawkes::FawkesNetworkMessageContent::payload ( )
virtual

◆ payload_size()

size_t fawkes::FawkesNetworkMessageContent::payload_size ( )
virtual

◆ serialize()

void fawkes::FawkesNetworkMessageContent::serialize ( )
pure virtual

Serialize message content.

Generate a single contiguous buffer. Make _payload point to this buffer and _payload_size contain the size of the buffer.

Implemented in fawkes::BlackBoardInterfaceListContent, fawkes::ConfigListContent, fawkes::StringContent, fawkes::NetworkLoggerMessageContent, and fawkes::PluginListMessage.

Referenced by fawkes::FawkesNetworkMessage::pack().

Member Data Documentation

◆ _payload

◆ _payload_size


The documentation for this class was generated from the following files: