MAK RTIspy API Documentation for HLA Evolved
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Static Public Member Functions | Protected Types | Protected Member Functions | Static Protected Member Functions | Protected Attributes | Static Protected Attributes | Private Member Functions
DtRtiMetadata Class Reference

DtRtiMetadata is added to some RTI messages depending on the configuration of the RTI. More...

+ Inheritance diagram for DtRtiMetadata:
+ Collaboration diagram for DtRtiMetadata:

Public Member Functions

 DtRtiMetadata (caddr_t msg, DtMetadataType type)
 Constructor.
 DtRtiMetadata (DtRtiMsg *msg, DtMetadataType type)
virtual ~DtRtiMetadata ()
 Destructor.
virtual bool locate (void **mdVal, unsigned int &size) const
 Traverse metadata headers of attached message to find this instance's metadata type.
virtual bool nullify ()
 Find specified type and change type field in header to DtMetadataTypeNull but don't remove from message buffer.
virtual unsigned int remove ()
 Find specified type and remove from buffer, relocating metadata that remains and adjusting reported size of buffer.
virtual unsigned int purge ()
 Traverse metadata headers to find all nullified blocks and remove them from buffer, relocating metadata that remains and adjusting reported size of buffer.
virtual bool isCopyEnabled ()
 Set/Get the 'copy' bit in the specified metadata header.
virtual void setCopyEnable (bool copyEnable)
virtual bool setLengthAsValue (unsigned int value)
 Set an integer value to be transmitted without using an actual payload.
virtual bool getLengthAsValue (unsigned int &value) const
 Get an integer payload value from the payload length.
virtual void print (MAKRti::DtOutputStream &stream=MAKRti::DtDebug)
 Print this Metadata.
virtual DtNetMsgHeadernetMessageHeader ()
 Get the net header of the message.

Static Public Member Functions

static unsigned int metadataMaxSize ()
 Report maximum size of metadata buffer.

Protected Types

typedef std::list
< DtMetadataNetHeader * > 
DtMetadataHeaderList

Protected Member Functions

virtual DtMetadataNetHeadergetFirstHeader () const
virtual DtMetadataNetHeadergetHeaderByType () const
virtual DtU16 compactMetadata (char *dst, DtMetadataHeaderList &retentionPool, bool newFinal)

Static Protected Member Functions

static bool locate (char const *msg, DtMetadataType type, void **mdVal, unsigned int &size)
 Traverse metadata headers of the given message to find the given metadata type.
static bool typeIsPresent (char const *msg, DtMetadataType type)
 Determines whether metadata type is present in msg.
static DtMetadataNetHeadergetFirstHeader (char const *msg)
static DtMetadataNetHeadergetNextHeader (DtMetadataNetHeader *hdr)
static DtMetadataNetHeadergetHeaderByType (char const *msg, DtMetadataType type)
static void transmogrifyHeader (DtMetadataNetHeader &src, DtMetadataNetHeader &dest)
 Transform from network to host format.
static void reverseTransmogrifyHeader (DtMetadataNetHeader &src, DtMetadataNetHeader &dest)
 Transform from host format to network format.
static unsigned int metadataSize (DtMetadataNetHeader &hdr)
static unsigned int metadataPayloadSize (DtMetadataNetHeader &hdr)

Protected Attributes

DtRtiMsgmyMsg
caddr_t myMsgAddr
unsigned int myMsgLen
char * myStartAddr
unsigned int mySize
 address returned by DtRtiMsg::addMetadata()
bool myCopyEnabled
const DtMetadataType myMetaDataType

Static Protected Attributes

static unsigned int theMaxMetadataBufferSize

Private Member Functions

 DtRtiMetadata (const DtRtiMetadata &)
 Copy CTOR Not Implemented – Copy Not Allowed!
DtRtiMetadataoperator= (const DtRtiMetadata &)
 Assignment Operator Not Implemented – Assignment Not Allowed!

Detailed Description

DtRtiMetadata is added to some RTI messages depending on the configuration of the RTI.

Member Typedef Documentation

Constructor & Destructor Documentation

DtRtiMetadata::DtRtiMetadata ( caddr_t  msg,
DtMetadataType  type 
)

Constructor.

DtRtiMetadata::DtRtiMetadata ( DtRtiMsg msg,
DtMetadataType  type 
)
virtual DtRtiMetadata::~DtRtiMetadata ( )
virtual

Destructor.

DtRtiMetadata::DtRtiMetadata ( const DtRtiMetadata )
private

Copy CTOR Not Implemented – Copy Not Allowed!

Member Function Documentation

virtual DtU16 DtRtiMetadata::compactMetadata ( char *  dst,
DtMetadataHeaderList retentionPool,
bool  newFinal 
)
protectedvirtual
virtual DtMetadataNetHeader* DtRtiMetadata::getFirstHeader ( ) const
protectedvirtual
static DtMetadataNetHeader* DtRtiMetadata::getFirstHeader ( char const *  msg)
staticprotected
virtual DtMetadataNetHeader* DtRtiMetadata::getHeaderByType ( ) const
protectedvirtual
static DtMetadataNetHeader* DtRtiMetadata::getHeaderByType ( char const *  msg,
DtMetadataType  type 
)
staticprotected
virtual bool DtRtiMetadata::getLengthAsValue ( unsigned int &  value) const
virtual

Get an integer payload value from the payload length.

Return boolean: metadata was found and value retrieved?

static DtMetadataNetHeader* DtRtiMetadata::getNextHeader ( DtMetadataNetHeader hdr)
staticprotected
virtual bool DtRtiMetadata::isCopyEnabled ( )
virtual

Set/Get the 'copy' bit in the specified metadata header.

virtual bool DtRtiMetadata::locate ( void **  mdVal,
unsigned int &  size 
) const
virtual

Traverse metadata headers of attached message to find this instance's metadata type.

The address and size of the payload are returned in the supplied parameters. Returns boolean: type was found?

static bool DtRtiMetadata::locate ( char const *  msg,
DtMetadataType  type,
void **  mdVal,
unsigned int &  size 
)
staticprotected

Traverse metadata headers of the given message to find the given metadata type.

The address and size of the payload are returned in the supplied parameters.

static unsigned int DtRtiMetadata::metadataMaxSize ( )
static

Report maximum size of metadata buffer.

static unsigned int DtRtiMetadata::metadataPayloadSize ( DtMetadataNetHeader hdr)
staticprotected
static unsigned int DtRtiMetadata::metadataSize ( DtMetadataNetHeader hdr)
staticprotected
virtual DtNetMsgHeader* DtRtiMetadata::netMessageHeader ( )
virtual

Get the net header of the message.

virtual bool DtRtiMetadata::nullify ( )
virtual

Find specified type and change type field in header to DtMetadataTypeNull but don't remove from message buffer.

Returns true if specified type found, false otherwise.

DtRtiMetadata& DtRtiMetadata::operator= ( const DtRtiMetadata )
private

Assignment Operator Not Implemented – Assignment Not Allowed!

virtual void DtRtiMetadata::print ( MAKRti::DtOutputStream &  stream = MAKRti::DtDebug)
virtual

Print this Metadata.

Reimplemented in DtRtiMtdDestinationList.

virtual unsigned int DtRtiMetadata::purge ( )
virtual

Traverse metadata headers to find all nullified blocks and remove them from buffer, relocating metadata that remains and adjusting reported size of buffer.

Returns number of metadata bytes purged.

virtual unsigned int DtRtiMetadata::remove ( )
virtual

Find specified type and remove from buffer, relocating metadata that remains and adjusting reported size of buffer.

Returns number of metadata bytes removed, including changes in padding.

static void DtRtiMetadata::reverseTransmogrifyHeader ( DtMetadataNetHeader src,
DtMetadataNetHeader dest 
)
staticprotected

Transform from host format to network format.

Contents of src parameter is in host format and result is assigned to contents of dest parameter

virtual void DtRtiMetadata::setCopyEnable ( bool  copyEnable)
virtual
virtual bool DtRtiMetadata::setLengthAsValue ( unsigned int  value)
virtual

Set an integer value to be transmitted without using an actual payload.

The payload length/padding data area is used (DtU16 size). This metadata value can be modified if it already exists in the message; however, it can only be added if the metadata is attached to a message. A message can allocate the space for the metadata whereas a buffer cannot. Return boolean: value was set successfully? /warning Not to be used if metadata contains actual payload data.

static void DtRtiMetadata::transmogrifyHeader ( DtMetadataNetHeader src,
DtMetadataNetHeader dest 
)
staticprotected

Transform from network to host format.

Contents of src parameter is in network format and result is assigned to contents of dest parameter

static bool DtRtiMetadata::typeIsPresent ( char const *  msg,
DtMetadataType  type 
)
staticprotected

Determines whether metadata type is present in msg.

Member Data Documentation

bool DtRtiMetadata::myCopyEnabled
protected
const DtMetadataType DtRtiMetadata::myMetaDataType
protected
DtRtiMsg* DtRtiMetadata::myMsg
protected
caddr_t DtRtiMetadata::myMsgAddr
protected
unsigned int DtRtiMetadata::myMsgLen
mutableprotected
unsigned int DtRtiMetadata::mySize
protected

address returned by DtRtiMsg::addMetadata()

char* DtRtiMetadata::myStartAddr
protected
unsigned int DtRtiMetadata::theMaxMetadataBufferSize
staticprotected

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

Document ID: Generated on Mon Jul 9 10:30:41 EDT 2018 from SVN revision 190224
Copyright © 2005-2018 VT MÄK Inc. All Rights Reserved (www.mak.com)