MAK RTIspy API Documentation for HLA Evolved
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
forwarderInfo.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 2008 MaK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************/
5 /*******************************************************************************
6 ** $RCSfile: forwarderInfo.h,v $ $Revision: 1.3 $ $State: Exp $
7 *******************************************************************************/
8 
11 
12 #ifndef DtForwarderInfo_H_
13 #define DtForwarderInfo_H_
14 
15 #include <rtiMsConfig.h>
16 #include <map>
17 #include <vlutil/vlString.h>
18 #include <vlutil/vlInetAddr.h>
19 #include <rtiVersion.h>
21 #include <vlutil/vlSmartPointers.h>
22 
25 {
26 public:
27 
30  DtAssistantNetworkCompInfo(const MAKRti::DtString& name);
32 
34  virtual ~DtAssistantNetworkCompInfo();
35 
37  virtual DtAssistantNetworkCompInfo& operator=(const DtAssistantNetworkCompInfo& other);
38  virtual bool operator==(const DtAssistantNetworkCompInfo& other) const;
39  virtual bool operator!=(const DtAssistantNetworkCompInfo& other) const;
40 
42 
43  MAKRti::DtString name() const { return myName; }
44  void setName(const MAKRti::DtString& n) { myName = n; }
45 
46  MAKRti::DtInetAddr address() const { return myAddress; }
47  void setAddress(const MAKRti::DtInetAddr& a) { myAddress = a; }
48 
49  MAKRti::DtString hostName() const { return myHostName; }
50  void setHostName(const MAKRti::DtString& n) { myHostName = n; }
51 
52  MAKRti::DtString processName() const { return myProcessName; }
53  void setProcessName(const MAKRti::DtString& n) { myProcessName = n; }
54 
55  MAKRti::DtString typeName() const { return myTypeName; }
56  void setTypeName(const MAKRti::DtString& n) { myTypeName = n; }
57 
58  MAKRti::DtString commandArgs() const { return myCommandArgs; }
59  void setCommandArgs(const MAKRti::DtString& a) { myCommandArgs = a; }
60 
61  MAKRti::DtString pid() const { return myPid; }
62  void setPid(const MAKRti::DtString& p) { myPid = p; }
63 
64  MAKRti::DtString federationName() const { return myFederationName; }
65  void setFederationName(const MAKRti::DtString& h) { myFederationName = h; }
66 
67  int federateHandle() const { return myFederateHandle; }
68  void setFederateHandle(int h) { myFederateHandle = h; }
69 
70  unsigned connectionId() const { return myConnId; }
71  void setConnectionId(unsigned i) { myConnId = i; }
72 
73  int queueStatus() const { return myQueueStatus; }
74  void setQueueStatus(int q) { myQueueStatus = q; }
75 
76  DtHlaVersionId hlaVersion() const { return myHlaVersion; }
77  void setHlaVersion(DtHlaVersionId v) { myHlaVersion = v; }
78 
79  DtAssistantMsgFederateStatus federateStatus() const { return myFederateStatus; }
80  void setFederateStatus(DtAssistantMsgFederateStatus v) { myFederateStatus = v; }
81 
82 
84 
87  bool isValid() const { return !myAddress.isAnyAddr(); }
88 
91  bool isDropped() const;
92 
93 protected:
94 
95  MAKRti::DtString myName;
96  MAKRti::DtInetAddr myAddress;
97  MAKRti::DtString myHostName;
98  MAKRti::DtString myProcessName;
99  MAKRti::DtString myTypeName;
100  MAKRti::DtString myCommandArgs;
101  MAKRti::DtString myPid;
102  MAKRti::DtString myFederationName;
104  unsigned myConnId;
108 };
109 
110 typedef std::list<DtAssistantNetworkCompInfo> DtAssistantNetworkCompInfoList;
111 
114 {
115 
116 public:
117 
119  DtAssistantForwarderInfo(bool isLocal);
120 
123 
125  DtAssistantForwarderInfo & operator = ( const DtAssistantForwarderInfo & rhs );
126  bool operator!=( const DtAssistantForwarderInfo & other ) const;
127  bool operator==( const DtAssistantForwarderInfo & other ) const;
128 
130  void updateFromStateMsg(const DtAssistantForwarderStateMsg& msg);
131 
134  const DtAssistantMsg* lastStateMsg() const { return myLastStateMessage.get(); }
135 
137 
138  typedef std::pair<MAKRti::DtString, int> DtFedexNameFedHdlPair;
139  typedef std::map<DtFedexNameFedHdlPair, DtAssistantNetworkCompInfo> DtCompByFederationAndHandleMap;
140  typedef std::map<MAKRti::DtString, DtAssistantNetworkCompInfo> DtPeerForwarderByIdMap;
142 
144 
145  MAKRti::DtInetAddr address() const { return myAddr; }
146  int port() const { return myPort; }
147  MAKRti::DtString hostName() const;// { return myHostName; }
148  const DtPeerForwarderByIdMap* peerForwarders() const { return &myPeerForwarders; }
149  const DtAssistantNetworkCompInfo* rtiexecInfo() const { return &myRtiexec; }
150  const DtAssistantNetworkCompInfo* federateInfo(
151  const MAKRti::DtString& federation, int handle) const;
152  const DtCompByFederationAndHandleMap* federates() const { return &myFederateConns; }
153  const DtAssistantNetworkCompInfoList* unclassifiedConns() const { return &myUnclassifiedConns; }
154  const DtAssistantNetworkCompInfo* unclassifiedConnInfo(
155  unsigned connId ) const;
156  bool isDropped();
158 
159 protected:
160 
162  MAKRti::DtInetAddr myAddr;
163 
165  int myPort;
166 
168  MAKRti::DtString myHostName;
169 
172 
175 
179 
182  std::list<DtAssistantNetworkCompInfo> myUnclassifiedConns;
183 
185  bool myIsLocal;
186 
188  DtBoost::shared_ptr<DtAssistantMsg> myLastStateMessage;
189 };
190 
191 
192 #endif

Document ID: Generated on Mon Mar 21 09:41:37 EDT 2016 from SVN revision 163228
Copyright © 2005-2015 VT MÄK Inc. All Rights Reserved (www.mak.com)