14 #include <vlutil/vlUtil.h>
15 #include <vlutil/vlString.h>
16 #include <vlutil/vlFilename.h>
17 #include <vlutil/vlInetAddr.h>
19 #include <vlutil/vlPrint.h>
20 #include <mtl/lispEnv.h>
27 class MAKRti::DtMtlEnvironment;
45 const MAKRti::DtInetAddr& additionalForwarder );
51 virtual void rebuildRoutes();
54 virtual bool isConfiguredViaRoutesFile()
const;
57 virtual bool isEmpty()
const;
72 virtual unsigned long nodeIdByName(
const MAKRti::DtString& name )
const;
77 virtual void setLocalNodeId(
unsigned long newId );
78 virtual unsigned long localNodeId()
const;
81 unsigned long lowestNodeId()
const;
84 virtual unsigned long consumeNextAvailableNodeId();
86 virtual MAKRti::DtString nodeNameByAddress(
const DtInetAddrAndPort& address )
const;
87 virtual MAKRti::DtString nodeHostNameByAddres(
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 );
168 virtual bool addLocalForwarder(
const MAKRti::DtString& forwarderName,
169 const MAKRti::DtInetAddr& forwarderAddr,
int port );
177 virtual bool addForwarderConnection(
const MAKRti::DtString& forwarderNameA,
178 const MAKRti::DtString& forwarderNameB );
183 virtual bool addForeignPortalConnection(
const MAKRti::DtString& forwarder );
188 virtual bool addForeignForwarderConnection(
const MAKRti::DtString& forwarder );
193 virtual bool addLocalGroupConnection(
const MAKRti::DtString& peerForwarder );
199 virtual bool addForwarderRoute(
const MAKRti::DtString& linkForwarderName,
200 const MAKRti::DtString& forwarderNameA,
201 const MAKRti::DtString& forwarderNameB );
205 virtual bool addInterfaceAddr(
const MAKRti::DtInetAddr& interfaceAddr );
211 virtual bool addForwarderToGroup(
const MAKRti::DtString& groupName,
212 const MAKRti::DtString& forwarderName,
213 const MAKRti::DtString& url,
int isPortal);
217 virtual bool enableDistributedUdpForwarding(
const MAKRti::DtString& forwarder );
221 virtual bool isMulticastMonitoringAllowed()
const;
225 virtual bool enableCompression(
const MAKRti::DtString& forwarder,
int level );
229 virtual bool enableBundling(
const MAKRti::DtString& forwarder,
int bundleSize );
246 virtual DtInetAddrAndPort locatePortal(
const MAKRti::DtString& targetGroupName )
const;
251 virtual DtInetAddrAndPort nextForwarderOnRoute(
const MAKRti::DtString& targetGroupName )
const;
259 virtual bool forwardRtiexecMsgs()
const;
265 virtual void print()
const;
269 virtual void knownForwarderNodes(std::set<DtForwarderNodeInfo>& otherNodes)
const;
272 virtual void addKnownForwarder(
const MAKRti::DtInetAddr& addr,
unsigned long nodeId,
273 const MAKRti::DtString& fwName,
const MAKRti::DtString& hostname,
274 const std::set<DtForwarderNodeInfo>& peers );
277 virtual bool updateForwarder(
const MAKRti::DtInetAddr& fwAddr,
unsigned long fwNodeId,
278 const MAKRti::DtString& fwName,
const MAKRti::DtString& fwHostName,
279 const std::set<DtForwarderNodeInfo>& peers );
282 virtual void updateForwarderNodeId(
const MAKRti::DtInetAddr& fwAddr,
unsigned long fwNodeId);
289 virtual void addAddressAlias(
const MAKRti::DtInetAddr& knownAddr,
290 const MAKRti::DtInetAddr& aliasAddr);
294 inline const MAKRti::DtInetAddr& addressAlias(
const MAKRti::DtInetAddr& knownAddr)
const;
298 typedef DtBoost::shared_ptr<DtRouteMap> (*DtRouteMapCreatorFcn)(
302 static DtBoost::shared_ptr<DtRouteMap> create(
const DtRIDParameters* params,
303 const MAKRti::DtInetAddr& fwAddrToConnectTo );
308 static void setCreatorFunction( DtRouteMapCreatorFcn creator );
314 virtual void registerRoutesFileParams();
318 virtual void setupDefaultRoutes();
319 virtual void setupSinglePortalRoutes();
320 virtual void setupLoadBalanceRoutes();
323 virtual void openRoutesFile();
327 virtual void initializeInterfaceList();
337 virtual void setupNodeName();
342 virtual void setupDestinationsMap();
437 return MAKRti::DtInetAddr::inaddrAny();