MAK RTIspy API Documentation for HLA 1516
 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::DtInetAddr privateAddress() const { return myPrivateAddress; }
50  void setPrivateAddress(const MAKRti::DtInetAddr& a) { myPrivateAddress = a; }
51 
52  MAKRti::DtString hostName() const { return myHostName; }
53  void setHostName(const MAKRti::DtString& n) { myHostName = n; }
54 
55  int port() const { return myPort; }
56  void setPort(int p) { myPort = p; }
57 
58  MAKRti::DtString hostPort() const {return myHostName + ":" + MAKRti::DtString(myPort);}
59 
60  MAKRti::DtString processName() const { return myProcessName; }
61  void setProcessName(const MAKRti::DtString& n) { myProcessName = n; }
62 
63  MAKRti::DtString typeName() const { return myTypeName; }
64  void setTypeName(const MAKRti::DtString& n) { myTypeName = n; }
65 
66  MAKRti::DtString commandArgs() const { return myCommandArgs; }
67  void setCommandArgs(const MAKRti::DtString& a) { myCommandArgs = a; }
68 
69  MAKRti::DtString pid() const { return myPid; }
70  void setPid(const MAKRti::DtString& p) { myPid = p; }
71 
72  MAKRti::DtString federationName() const { return myFederationName; }
73  void setFederationName(const MAKRti::DtString& h) { myFederationName = h; }
74 
75  int federateHandle() const { return myFederateHandle; }
76  void setFederateHandle(int h) { myFederateHandle = h; }
77 
78  unsigned connectionId() const { return myConnId; }
79  void setConnectionId(unsigned i) { myConnId = i; }
80 
81  int queueStatus() const { return myQueueStatus; }
82  void setQueueStatus(int q) { myQueueStatus = q; }
83 
84  DtHlaVersionId hlaVersion() const { return myHlaVersion; }
85  void setHlaVersion(DtHlaVersionId v) { myHlaVersion = v; }
86 
87  DtAssistantMsgFederateStatus federateStatus() const { return myFederateStatus; }
88  void setFederateStatus(DtAssistantMsgFederateStatus v) { myFederateStatus = v; }
89 
90 
92 
95  bool isValid() const { return !myAddress.isAnyAddr(); }
96 
99  bool isDropped() const;
100 
101 protected:
102 
103  MAKRti::DtString myName;
104  MAKRti::DtInetAddr myAddress;
105  MAKRti::DtInetAddr myPrivateAddress;
106  MAKRti::DtString myHostName;
107  MAKRti::DtString myProcessName;
108  MAKRti::DtString myTypeName;
109  MAKRti::DtString myCommandArgs;
110  MAKRti::DtString myPid;
111  MAKRti::DtString myFederationName;
112  int myPort;
114  unsigned myConnId;
118 };
119 
120 typedef std::list<DtAssistantNetworkCompInfo> DtAssistantNetworkCompInfoList;
121 
124 {
125 
126 public:
127 
129  DtAssistantForwarderInfo(bool isLocal);
130 
133 
135  DtAssistantForwarderInfo & operator = ( const DtAssistantForwarderInfo & rhs );
136  bool operator!=( const DtAssistantForwarderInfo & other ) const;
137  bool operator==( const DtAssistantForwarderInfo & other ) const;
138 
140  void updateFromStateMsg(const DtAssistantForwarderStateMsg& msg);
141 
144  const DtAssistantMsg* lastStateMsg() const { return myLastStateMessage.get(); }
145 
147 
148  typedef std::pair<MAKRti::DtString, int> DtFedexNameFedHdlPair;
149  typedef std::map<DtFedexNameFedHdlPair, DtAssistantNetworkCompInfo> DtCompByFederationAndHandleMap;
150  // TODO figure out why this typedef for Forwarders uses DtAssistantNetworkCompInfo instead of DtAssistantForwarderInfo
151  typedef std::map<DtInetAddrAndPort, DtAssistantNetworkCompInfo> DtPeerForwarderByAddrMap;
153 
155 
156  MAKRti::DtInetAddr address() const { return myAddr; }
157  int port() const { return myPort; }
158  MAKRti::DtString name() const;
159  MAKRti::DtString hostName() const;
160  const DtPeerForwarderByAddrMap* peerForwarders() const { return &myPeerForwarders; }
161  const DtAssistantNetworkCompInfo* rtiexecInfo() const { return &myRtiexec; }
162  const DtAssistantNetworkCompInfo* federateInfo(
163  const MAKRti::DtString& federation, int handle) const;
164  const DtCompByFederationAndHandleMap* federates() const { return &myFederateConns; }
165  const DtAssistantNetworkCompInfoList* unclassifiedConns() const { return &myUnclassifiedConns; }
166  const DtAssistantNetworkCompInfo* unclassifiedConnInfo(
167  unsigned connId ) const;
168  bool isDropped();
170 
171 protected:
172 
174  MAKRti::DtInetAddr myAddr;
175 
177  int myPort;
178 
180  MAKRti::DtString myName;
181 
183  MAKRti::DtString myHostName;
184 
187 
190 
194 
197  std::list<DtAssistantNetworkCompInfo> myUnclassifiedConns;
198 
200  bool myIsLocal;
201 
203  DtBoost::shared_ptr<DtAssistantMsg> myLastStateMessage;
204 };
205 
206 
207 #endif

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)