14 #include <vlutil/vlUtil.h>
15 #include <vlutil/vlString.h>
16 #include <vlutil/vlFilename.h>
17 #include <vlutil/vlInetEndpoint.h>
19 #include <vlutil/vlPrint.h>
20 #include <mtl/mtlEnvironment.h>
27 class MAKRti::DtMtlEnvironment;
45 const MAKRti::DtInetEndpoint& additionalForwarder );
51 virtual void rebuildRoutes();
54 virtual bool isConfiguredViaRoutesFile()
const;
57 virtual bool isEmpty()
const;
74 virtual void setLocalNodeId(
unsigned long newId );
75 virtual unsigned long localNodeId()
const;
78 unsigned long lowestNodeId()
const;
81 virtual unsigned long consumeNextAvailableNodeId();
83 virtual MAKRti::DtString nodeNameByAddress(
const DtInetAddrAndPort& address )
const;
84 virtual MAKRti::DtString nodeHostNameByAddress(
const DtInetAddrAndPort& address )
const;
86 virtual unsigned long nodeIdByName(
const MAKRti::DtString& name )
const;
88 virtual std::pair<DtInetAddrAndPort, DtInetAddrAndPort> publicPrivatePairByPublicAddress(
const DtInetAddrAndPort& address)
const;
91 virtual const MAKRti::DtString& localNodeName()
const;
100 virtual void setForwarderPort(
unsigned int port );
101 virtual unsigned int forwarderPort()
const;
104 virtual inline void setForwarderInterfaceAddr(
const MAKRti::DtInetAddr& addr );
105 virtual inline const MAKRti::DtInetAddr& forwarderInterfaceAddr()
const;
117 const MAKRti::DtString& srcNode,
118 const MAKRti::DtString& linkNode )
const;
125 const MAKRti::DtString& node )
const;
133 const MAKRti::DtString& node )
const;
145 const MAKRti::DtString& node )
const;
152 const MAKRti::DtString& node )
const;
161 virtual bool addForwarder(
const MAKRti::DtString& forwarderName,
162 const MAKRti::DtInetAddr& forwarderAddr,
int port );
170 virtual bool addForwarderConnection(
const MAKRti::DtString& forwarderNameA,
171 const MAKRti::DtString& forwarderNameB );
176 virtual bool addForeignPortalConnection(
const MAKRti::DtString& forwarder );
181 virtual bool addForeignForwarderConnection(
const MAKRti::DtString& forwarder );
186 virtual bool addLocalGroupConnection(
const MAKRti::DtString& peerForwarder );
192 virtual bool addForwarderRoute(
const MAKRti::DtString& linkForwarderName,
193 const MAKRti::DtString& forwarderNameA,
194 const MAKRti::DtString& forwarderNameB );
198 virtual bool addInterfaceAddr(
const MAKRti::DtInetAddr& interfaceAddr );
204 virtual bool addForwarderToGroup(
const MAKRti::DtString& groupName,
205 const MAKRti::DtString& forwarderName,
206 const MAKRti::DtString& url,
int isPortal);
210 virtual bool enableDistributedUdpForwarding(
const MAKRti::DtString& forwarder );
214 virtual bool isMulticastMonitoringAllowed()
const;
218 virtual bool enableCompression(
const MAKRti::DtString& forwarder,
int level );
222 virtual bool enableBundling(
const MAKRti::DtString& forwarder,
int bundleSize );
239 virtual DtInetAddrAndPort locatePortal(
const MAKRti::DtString& targetGroupName )
const;
244 virtual DtInetAddrAndPort nextForwarderOnRoute(
const MAKRti::DtString& targetGroupName )
const;
252 virtual bool forwardRtiexecMsgs()
const;
258 virtual void print()
const;
262 virtual void knownForwarderNodes(std::set<DtForwarderNodeInfo>& otherNodes)
const;
265 virtual void addKnownForwarder(
const DtInetAddrAndPort& fwDestination,
unsigned long nodeId,
266 const MAKRti::DtString& fwName,
const MAKRti::DtString& hostname,
267 const std::set<DtForwarderNodeInfo>& peers );
270 virtual bool updateForwarder(
const DtInetAddrAndPort& fwDestination,
unsigned long fwNodeId,
271 const MAKRti::DtString& fwName,
const MAKRti::DtString& fwHostName,
272 const std::set<DtForwarderNodeInfo>& peers );
275 virtual void updateForwarderNodeId(
const DtInetAddrAndPort& fwDestination,
unsigned long fwNodeId);
282 virtual void addAddressAlias(
const MAKRti::DtInetAddr& knownAddr,
283 const MAKRti::DtInetAddr& aliasAddr);
287 inline const MAKRti::DtInetAddr& addressAlias(
const MAKRti::DtInetAddr& knownAddr)
const;
288 inline const MAKRti::DtInetAddr& privateAddress(
const MAKRti::DtInetAddr& knownAddr)
const;
290 virtual void setRtiexecConnectionId(
unsigned long);
291 virtual unsigned long rtiexecConnectionId()
const;
295 typedef DtBoost::shared_ptr<DtRouteMap> (*DtRouteMapCreatorFcn)(
299 static DtBoost::shared_ptr<DtRouteMap> create(
const DtRIDParameters* params,
300 const MAKRti::DtInetEndpoint& fwAddrToConnectTo );
305 static void setCreatorFunction( DtRouteMapCreatorFcn creator );
311 virtual void registerRoutesFileParams();
315 virtual void setupDefaultRoutes();
316 virtual void setupSinglePortalRoutes();
317 virtual void setupLoadBalanceRoutes();
320 virtual void openRoutesFile();
324 virtual void initializeInterfaceList();
334 virtual void setupNodeName();
339 virtual void setupDestinationsMap();
437 return MAKRti::DtInetAddr::inaddrAny();