ariba::DataMessage Class Reference

#include <source/ariba/DataMessage.h>

Collaboration diagram for ariba::DataMessage:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 DataMessage ()
 DataMessage (const void *data, const size_t size)
 DataMessage (const DataMessage &message)
 DataMessage (const Message *message)
 DataMessage (const Message &message)
MessagegetMessage () 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

Detailed Description

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!

Author:
Sebastian Mies <mies@tm.uka.de>

Definition at line 33 of file DataMessage.h.


Constructor & Destructor Documentation

ariba::DataMessage::DataMessage (  )  [inline]

Default constructor for a data message

Definition at line 43 of file DataMessage.h.

References data, and size.

ariba::DataMessage::DataMessage ( const void *  data,
const size_t  size 
) [inline]

Constructor for a data message

Parameters:
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

Parameters:
message The other message to copy from

Definition at line 62 of file DataMessage.h.

References data, and size.

ariba::DataMessage::DataMessage ( const Message message  )  [inline]

Construct a data message from a normal message

Parameters:
message The normal message to store

Definition at line 72 of file DataMessage.h.

References data, and size.

ariba::DataMessage::DataMessage ( const Message message  )  [inline]

Construct a data message from a normal message

Parameters:
message The normal message to store

Definition at line 81 of file DataMessage.h.

References data, and size.


Member Function Documentation

void* ariba::DataMessage::getData (  )  const [inline]

Directly access the internal data pointer

Returns:
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

Returns:
pointer to the message

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

Returns:
internal buffer size

Definition at line 134 of file DataMessage.h.

References size.

bool ariba::DataMessage::isData (  )  const [inline]

Is the data message a data message

Returns:
true, if the data message is not a normal 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?

Returns:
true, if the data message is 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?

Returns:
true, if data message is invalid

Definition at line 142 of file DataMessage.h.

References data.

ariba::DataMessage::operator Message * (  )  const [inline]

Conversion function to convert to Message*

Returns:
internal message

Definition at line 101 of file DataMessage.h.

References getMessage().


Member Data Documentation

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().

Definition at line 38 of file DataMessage.h.


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

Generated on Fri Dec 10 11:09:24 2010 for Ariba by  doxygen 1.6.1