#include <source/ariba/DataMessage.h>
Public Member Functions | |
DataMessage () | |
DataMessage (const void *data, const size_t size) | |
DataMessage (const DataMessage &message) | |
DataMessage (const Message *message) | |
DataMessage (const Message &message) | |
Message * | getMessage () const |
operator Message * () const | |
bool | isMessage () const |
bool | isData () const |
void * | getData () const |
size_t | getSize () const |
bool | isUnspecified () const |
Static Public Attributes | |
static const DataMessage | UNSPECIFIED |
Private Attributes | |
void * | data |
size_t | size |
This class wraps different representations of a message. In its current version is allows to specify binary data (as void*) with a size specifying the number of bytes of data or an message object that can be serialized if necessary. The main idea is, that simulation environments do not necessarily need to serialize messages.
For performance reasons methods of this class are inlined where possible!
Definition at line 33 of file DataMessage.h.
ariba::DataMessage::DataMessage | ( | ) | [inline] |
Default constructor for a data message
Definition at line 43 of file DataMessage.h.
ariba::DataMessage::DataMessage | ( | const void * | data, | |
const size_t | size | |||
) | [inline] |
Constructor for a data message
data | Data buffer to carry in the message | |
size | Size of the buffer pointed to |
Definition at line 53 of file DataMessage.h.
ariba::DataMessage::DataMessage | ( | const DataMessage & | message | ) | [inline] |
Copy constructor for a data message
message | The other message to copy from |
Definition at line 62 of file DataMessage.h.
ariba::DataMessage::DataMessage | ( | const Message * | message | ) | [inline] |
Construct a data message from a normal message
message | The normal message to store |
Definition at line 72 of file DataMessage.h.
ariba::DataMessage::DataMessage | ( | const Message & | message | ) | [inline] |
Construct a data message from a normal message
message | The normal message to store |
Definition at line 81 of file DataMessage.h.
void* ariba::DataMessage::getData | ( | ) | const [inline] |
Directly access the internal data pointer
Definition at line 126 of file DataMessage.h.
References data.
Message* ariba::DataMessage::getMessage | ( | ) | const [inline] |
Get the internal message when constructued through one
Definition at line 90 of file DataMessage.h.
References data, isData(), and size.
Referenced by ariba::overlay::OneHop::onMessage(), ariba::overlay::Chord::onMessage(), ariba::application::pingpong::PingPong::onMessage(), and operator Message *().
size_t ariba::DataMessage::getSize | ( | ) | const [inline] |
Get the size of the internal buffer
Definition at line 134 of file DataMessage.h.
References size.
bool ariba::DataMessage::isData | ( | ) | const [inline] |
Is the data message a data message
Definition at line 118 of file DataMessage.h.
References isMessage().
Referenced by getMessage().
bool ariba::DataMessage::isMessage | ( | ) | const [inline] |
Is the data message a normal message?
Definition at line 110 of file DataMessage.h.
References size.
Referenced by isData().
bool ariba::DataMessage::isUnspecified | ( | ) | const [inline] |
Is the data message invalid?
Definition at line 142 of file DataMessage.h.
References data.
ariba::DataMessage::operator Message * | ( | ) | const [inline] |
Conversion function to convert to Message*
Definition at line 101 of file DataMessage.h.
References getMessage().
void* ariba::DataMessage::data [private] |
Definition at line 35 of file DataMessage.h.
Referenced by DataMessage(), getData(), getMessage(), and isUnspecified().
size_t ariba::DataMessage::size [private] |
Definition at line 36 of file DataMessage.h.
Referenced by DataMessage(), getMessage(), getSize(), and isMessage().
const DataMessage ariba::DataMessage::UNSPECIFIED [static] |
Definition at line 38 of file DataMessage.h.