17 #include <vlutil/vlBaseMsg.h>
19 #include <vlutil/vlString.h>
22 #if defined(DtIFSPEC1516) || defined(DtIFSPEC1516E)
40 #define MSG_STATUS_OK 0
41 #define MSG_STATUS_NOT_OK 1
55 virtual DtRtiMsg* clone(
bool copy =
true)
const =0;
59 virtual DtRtiMsg* cloneWithTransport(
bool copy =
true)
const;
65 virtual int version()
const;
68 virtual bool isValidVersion()
const;
83 virtual void setFedEx(
const MAKRti::DtString& name);
86 virtual void setFedEx(
int handle);
91 virtual bool isForExec(
const MAKRti::DtString& execName,
int execHandle)
const;
97 virtual const MAKRti::DtString fedExName()
const;
102 virtual int fedExHandle()
const;
113 virtual void setSequenceNumber(
unsigned long value);
114 virtual unsigned long sequenceNumber()
const;
119 virtual void setServiceCallNumber(
unsigned long value);
120 virtual unsigned long serviceCallNumber()
const;
126 virtual void setTriggerMessageNumber(
unsigned long value);
127 virtual unsigned long triggerMessageNumber()
const;
134 virtual const char* kindString()
const;
137 virtual bool isConstrained()
const;
140 virtual bool isAllowedDuringSave()
const;
149 #elif defined(DtIFSPEC1516E)
150 virtual void setTime(
const rti1516e::LogicalTime& time);
151 virtual rti1516e::LogicalTime
const * time(
154 virtual void setTime(
const RTI::FedTime& time);
155 virtual RTI::FedTime
const * time(
160 virtual bool hasTime()
const;
165 virtual void setSerialNumber(
unsigned long serialNumberValue);
166 virtual unsigned long serialNumber()
const;
176 virtual bool isMetadataPresent()
const;
184 virtual bool addMetadata( caddr_t* mtdAddr,
unsigned int size,
185 unsigned int* alignPad,
unsigned int* headerPad = NULL );
189 virtual void removeMetadata(
unsigned int size );
193 bool isInteractionMsgType()
const;
194 bool isUpdateMsgType()
const;
205 virtual void printTime(
const char* label,
209 virtual void printInterval(
const char* label,
211 #elif defined(DtIFSPEC1516E)
212 virtual void printTime(
const char* label,
213 rti1516e::LogicalTime
const * timeValue)
const;
216 virtual void printInterval(
const char* label,
217 rti1516e::LogicalTimeInterval
const* intervalValue)
const;
219 virtual void printTime(
const char* label,
220 RTI::FedTime
const * timeValue)
const;
223 virtual void printInterval(
const char* label,
224 RTI::FedTime
const* intervalValue)
const;
228 virtual int status()
const;
233 static inline const DtNetMsgHeader* netHeader(
const void *buffer);
239 static const char* kindString(
const void *buffer);
242 static unsigned long totalSize(
const void* buffer);
248 static unsigned int version(
const void* buffer);
251 static unsigned int fedExHandle(
const void* buffer);
257 static unsigned long sequenceNumber(
const void* buffer);
260 static unsigned char flags(
const void* buffer);
263 static unsigned long metadataSize(
const void* buffer);
266 static void setDefaultRegionSet(
unsigned long defaultRegionSet);
269 static void setUse32BitsForValueSize(
bool use32BitsForValueSizeEnabled);
270 static bool use32BitsForValueSize();
273 static void setSmartForwardingEnabled(
bool enabled );
274 static bool smartForwardingEnabled();
280 #elif defined(DtIFSPEC1516E)
281 static const rti1516e::VariableLengthData theDefaultTag;
295 virtual void sizeChanged(
int size);
298 void initDtRtiMsg(
int size,
DtRtiMsgKind msgKindVal, DtBufferPtr buffer);
299 void initDtRtiMsg(
const void *initial,
int size, DtBufferPtr buffer);
300 void initDtRtiMsg(
const DtNetMsgHeader *header, DtBufferPtr buffer);
304 virtual void adjustBytes(
int offset,
int numBytes);
309 virtual void adjustBytes(
void *address,
int numBytes);
317 #elif defined(DtIFSPEC1516E)
318 rti1516e::LogicalTime* myFedTime;
368 deleteBytes(offset, -numBytes);
377 deleteBytes(address, -numBytes);
RTI::FedTime * myFedTime
Definition: rtiMsg.h:320
DtRtiMsgKind
Definition: rtiMsgKind.h:9
unsigned long myServiceCallNumber
Definition: rtiMsg.h:326
bool myConstrained
Definition: rtiMsg.h:323
!DtIFSPEC1516
Definition: fedTimeFactory.h:190
This file contains the designator or handle classes used by the interface.
virtual void adjustBytes(int offset, int numBytes)
Adjust numBytes bytes at the indicated offset in the net rep.
Definition: rtiMsg.h:362
bool myTimeIsValid
Definition: rtiMsg.h:322
static unsigned long theDefaultRegionSetHandle
Definition: rtiMsg.h:277
bool myAllowedDuringSave
Definition: rtiMsg.h:324
static const char * theDefaultTag
Definition: rtiMsg.h:283
unsigned long mySerialNumber
Definition: rtiMsg.h:325
DtRtiMsg is the base class for messages between RTI components.
Definition: rtiMsg.h:45
DtHandle DtFederateHandle
Definition: internalTypes.h:29
This file contains the standard RTI types that are defined in namespace rti1516.
DtHandle DtTransportHandle
Definition: internalTypes.h:40
#define MSG_STATUS_OK
Definition: rtiMsg.h:40
virtual DtNetMsgHeader * netHeader() const
Get header of network representation.
Definition: rtiMsg.h:336
Definition: LogicalTimeInterval.h:27
static bool theUse32BitsForValueSize
Definition: rtiMsg.h:331
void insertBytes(std::vector< Octet > &wrapper, size_t length)
Insert bytes into the octet buffer.
Definition: encodingImplHelpers.h:109
virtual int status() const
Returns MSG_STATUS_OK if OK, a reason enumeration otherwise.
Definition: rtiMsg.h:351
virtual DtRtiMsgKind msgKind() const
Get the message kind.
Definition: rtiMsg.h:346
unsigned long myTriggerMessage
Definition: rtiMsg.h:327
Definition: VariableLengthData.h:22
#define DT_DLL_LRC
Definition: rtiMsConfig.h:126
Definition: LogicalTime.h:27
The declaration of internal types.
static bool theSmartForwardingEnabled
Definition: rtiMsg.h:333
DtOrderHandle myOrderType
Definition: rtiMsg.h:314
DtHandle DtOrderHandle
Definition: internalTypes.h:39
virtual DtFederateHandle federateHandle() const
Set/Get federate handle.
Definition: rtiMsg.h:356
DtTransportHandle myTransportType
Definition: rtiMsg.h:313