5 #ifndef netStatsMonitor_h__
6 #define netStatsMonitor_h__
13 #include <vlutil/vlFilename.h>
14 #include <vlutil/vlFedTarget.h>
18 class DtRtiAmbassadorImplementor;
19 class DtNetStatsFedAmbWrapper;
58 virtual void printStats(
bool withHeader =
false )
const;
90 unsigned int msgSize,
double time,
const DtRtiMsg& msg );
92 bool isSent,
unsigned int msgSize,
double time);
95 unsigned int msgSize,
double time,
const DtRtiMsg& msg );
131 std::vector<MAKRti::DtU32>& objectClassHandles, std::vector<MAKRti::DtU32>& parentObjectClassHandles,
132 std::vector<MAKRti::DtString>& objectClassNames);
134 std::vector<MAKRti::DtU32>& interactionClassHandles, std::vector<MAKRti::DtU32>& parentInteractionClassHandles,
135 std::vector<MAKRti::DtString>& interactionClassNames);
140 std::vector<MAKRti::DtU32>& objectClassHandles, std::vector<MAKRti::DtU32>& attributeHandles,
141 std::vector<MAKRti::DtString>& attributeNames, std::vector<bool>& attributePub,
142 std::vector<bool>& attributeSub, std::vector<DtTransportType>& attributeTransport,
143 std::vector<DtOrderType>& attributeOrder);
145 std::vector<MAKRti::DtU32>& objectClassHandles, std::vector<MAKRti::DtU32>& attributeHandles,
146 std::vector<MAKRti::DtString>& attributeNames, std::vector<MAKRti::DtU32>& parentClassHandles,
147 std::set<MAKRti::DtString> parentAttributeNames, MAKRti::DtU32 parentClassHandle,
148 std::vector<MAKRti::DtU32>& totalObjectHandles);
151 std::vector<MAKRti::DtU32>& interactionClassHandles, std::vector<MAKRti::DtU32>& parameterHandles,
152 std::vector<MAKRti::DtString>& parameterNames, std::vector<MAKRti::DtU32>& parentInterHandles,
153 std::set<MAKRti::DtString> parentParametersNames, MAKRti::DtU32 parentInterHandle,
154 std::vector<MAKRti::DtU32>& totalInterHandles);
157 std::vector<MAKRti::DtU32>& objectClassHandles, std::vector<MAKRti::DtU32>& attributeHandles,
158 std::vector<bool>& attributePub, std::vector<bool>& attributeSub,
159 std::vector<DtTransportType>& attributeTransport, std::vector<DtOrderType>& attributeOrder,
160 std::vector<bool>& objectPub, std::vector<bool>& objectSub, std::vector<MAKRti::DtU32>& objPubSubHandles);
163 std::vector<MAKRti::DtU32>& objectClassHandles,
164 std::vector<MAKRti::DtU32>& attributeHandles, std::vector<bool>& attributePub,
165 std::vector<bool>& attributeSub, std::vector<DtTransportType>& attributeTransport,
166 std::vector<DtOrderType>& attributeOrder, std::vector<bool>& objectPub,
167 std::vector<bool>& objectSub, std::vector<MAKRti::DtU32>& objPubSubHandles);
229 #endif // netStatsMonitor_h__
virtual bool isJoined() const
virtual void recordFedAmbStats(const DtFedAmbAPIType callName, double callTime)
DtRtiMsgKind
Definition: rtiMsgKind.h:9
virtual void gatherClassDataAndSend(DtFomClassMgr *fomMgr, DtRtiAssistantLrcClient *rtiAstntLrcClient)
DtConnectionMgr * myConnMgr
Definition: netStatsMonitor.h:192
MAKRti::DtString getNameFromInteraction(DtInteractionClassInfo *interaction)
std::map< DtObjectClassHandle, DtObjectClassInfo * > DtObjectClassByHandleMap
Definition: objClassInfo.h:39
virtual void addRegisteredObject(DtObjectInstanceHandle objHandle, DtObjectClassHandle theClass, const char *theObject)
DtFederateHandle myFedId
Definition: netStatsMonitor.h:183
DtNetStatsFedAmbWrapper * myFedAmbWrap
Definition: netStatsMonitor.h:189
static void processNetStatsObserveReqMsg(const DtAssistantNetStatsObserveReqMsg &msg, void *usr)
void recursivelyAddAttributesNames(DtObjectClassInfo::DtObjectClassByHandleMap &objectClasses, std::vector< MAKRti::DtU32 > &objectClassHandles, std::vector< MAKRti::DtU32 > &attributeHandles, std::vector< MAKRti::DtString > &attributeNames, std::vector< MAKRti::DtU32 > &parentClassHandles, std::set< MAKRti::DtString > parentAttributeNames, MAKRti::DtU32 parentClassHandle, std::vector< MAKRti::DtU32 > &totalObjectHandles)
bool myIsObserved
Definition: netStatsMonitor.h:201
DtFedAmbAPIType
Definition: fedAmbAPITypes.h:12
Definition: netStatsMonitor.h:33
void sendAttributeNames()
virtual void addSentInteraction(DtInteractionClassHandle theInteraction)
bool myHaveSentClassData
Definition: netStatsMonitor.h:202
The client connection to the RTI Assistant for an LRC.
Definition: rtiAssistantLrcClient.h:32
virtual void netStatsPostTick()
virtual void recursivelyAddObjects(DtObjectClassInfo::DtObjectClassByHandleMap &objectClasses, MAKRti::DtU32 parentHandle, std::vector< MAKRti::DtU32 > &objectClassHandles, std::vector< MAKRti::DtU32 > &parentObjectClassHandles, std::vector< MAKRti::DtString > &objectClassNames)
void sendAttributeState()
bool myShouldSendTransport
Definition: netStatsMonitor.h:218
virtual void gatherInstanceDataAndSend(DtRtiAssistantLrcClient *rtiAstntLrcClient)
DtHandle DtObjectClassHandle
Definition: internalTypes.h:48
void recursivelyAddAttrInitState(DtObjectClassInfo::DtObjectClassByHandleMap &objectClasses, std::vector< MAKRti::DtU32 > &objectClassHandles, std::vector< MAKRti::DtU32 > &attributeHandles, std::vector< bool > &attributePub, std::vector< bool > &attributeSub, std::vector< DtTransportType > &attributeTransport, std::vector< DtOrderType > &attributeOrder, std::vector< bool > &objectPub, std::vector< bool > &objectSub, std::vector< MAKRti::DtU32 > &objPubSubHandles)
virtual void createSerializedTreesAndSend()
virtual void postJoinInit(const DtFederateHandle &fedId)
MAKRti::DtTime myFomInterval
Definition: netStatsMonitor.h:210
DtHandle DtInteractionClassHandle
Definition: internalTypes.h:52
void sendParameterState()
void recursivelyAddInteractions(DtInteractionClassInfo::DtInteractionClassByHandleMap &interactionClasses, MAKRti::DtU32 parentHandle, std::vector< MAKRti::DtU32 > &interactionClassHandles, std::vector< MAKRti::DtU32 > &parentInteractionClassHandles, std::vector< MAKRti::DtString > &interactionClassNames)
virtual void recordSentMsgStats(const DtRtiMsg &msg, double sendTime)
bool myHaveSentInitState
Definition: netStatsMonitor.h:206
MAKRti::DtClock myFomIntervalTimer
Definition: netStatsMonitor.h:213
The DtAssistantNetStatsObserveReqMsg defines...
Definition: assistantObserveReqMsg.h:20
virtual ~DtNetStatsMonitor()
void sendCurrentAttributeAndParameterValues()
virtual void setIsJoined(bool val)
virtual void recordApiStats(const DtRtiAmbAPIType callName, double callTime)
Instances of DtConnectionMgr manage the communication objects that the RTI will use to either communi...
Definition: connectMgr.h:67
DtRtiMsg is the base class for messages between RTI components.
Definition: rtiMsg.h:34
DtHandle DtFederateHandle
Definition: internalTypes.h:46
DtHandle DtObjectInstanceHandle
Definition: internalTypes.h:50
virtual void printStats(bool withHeader=false) const
virtual void addDiscoveredObject(DtObjectInstanceHandle objHandle, DtObjectClassHandle theClass, const char *theObject)
DtRtiAmbassadorImplementor * myRtiAmb
Definition: netStatsMonitor.h:186
void recursivelyAddAttributes(DtObjectClassInfo::DtObjectClassByHandleMap &objectClasses, std::vector< MAKRti::DtU32 > &objectClassHandles, std::vector< MAKRti::DtU32 > &attributeHandles, std::vector< MAKRti::DtString > &attributeNames, std::vector< bool > &attributePub, std::vector< bool > &attributeSub, std::vector< DtTransportType > &attributeTransport, std::vector< DtOrderType > &attributeOrder)
virtual void addRecvdInteraction(DtInteractionClassHandle theInteraction)
DtRtiAssistantLrcClient * myAssistantClient
Definition: netStatsMonitor.h:216
void sendParameterNames()
DtRtiAmbAPIType
Definition: rtiAmbAPITypes.h:12
bool myIsJoined
Definition: netStatsMonitor.h:221
Definition: netStats.h:122
void recursivelyAddParametersNames(DtInteractionClassInfo::DtInteractionClassByHandleMap &interactionClasses, std::vector< MAKRti::DtU32 > &interactionClassHandles, std::vector< MAKRti::DtU32 > ¶meterHandles, std::vector< MAKRti::DtString > ¶meterNames, std::vector< MAKRti::DtU32 > &parentInterHandles, std::set< MAKRti::DtString > parentParametersNames, MAKRti::DtU32 parentInterHandle, std::vector< MAKRti::DtU32 > &totalInterHandles)
bool myHaveSentInitialFomData
Definition: netStatsMonitor.h:205
Definition: intClassInfo.h:40
MAKRti::DtTime myInterval
Definition: netStatsMonitor.h:209
void sendInitParamState()
virtual void recordInteractionStats(bool isSent, unsigned int msgKind, unsigned int msgSize, double time, const DtRtiMsg &msg)
virtual void changedInterPubSubTransOrder(DtInteractionClassHandle classHandle)
MAKRti::DtString getNameFromObject(DtObjectClassInfo *object)
MAKRti::DtClock myIntervalTimer
Definition: netStatsMonitor.h:212
std::map< DtInteractionClassHandle, DtInteractionClassInfo * > DtInteractionClassByHandleMap
Definition: intClassInfo.h:43
virtual void recordRecvdMsgStats(const DtRtiMsg &msg, double sendTime, bool joined)
bool myIsFomObserved
Definition: netStatsMonitor.h:204
Definition: objClassInfo.h:36
void recursivelyAddParamInitState(DtInteractionClassInfo::DtInteractionClassByHandleMap &interactionClasses, std::vector< MAKRti::DtU32 > &objectClassHandles, std::vector< MAKRti::DtU32 > &attributeHandles, std::vector< bool > &attributePub, std::vector< bool > &attributeSub, std::vector< DtTransportType > &attributeTransport, std::vector< DtOrderType > &attributeOrder, std::vector< bool > &objectPub, std::vector< bool > &objectSub, std::vector< MAKRti::DtU32 > &objPubSubHandles)
DtNetStatsMonitor & operator=(const DtNetStatsMonitor &orig)
bool myChanged
Definition: netStatsMonitor.h:198
bool myShouldSendOrder
Definition: netStatsMonitor.h:219
virtual const DtTrafficStats & getNetworkStats() const
Definition: netStatsMonitor.h:225
virtual void changedPubSubTransOrder(DtObjectClassHandle classHandle)
static void processMsg(const DtRtiMsg &msg, void *thisMonitor)
DtTrafficStats myNetStats
Definition: netStatsMonitor.h:195
virtual void recordObjectStats(bool isSent, unsigned int msgKind, unsigned int msgSize, double time, const DtRtiMsg &msg)
void sendAttributeParameterState()