![]() |
MAK RTIspy API Documentation for HLA 1.3
|
Collaboration diagram for DtRouteMap:Public Types | |
| typedef std::vector < DtInetAddrAndPort > | DtAddressPortList |
| typedef std::vector < MAKRti::DtInetAddr > | DtAddressList |
| typedef std::vector < MAKRti::DtString > | DtNodeList |
| typedef std::set < MAKRti::DtInetAddr > | DtInterfaceAddrSet |
| typedef std::vector < DtRtiForwarderGroup * > | DtForwarderGroupList |
| typedef std::shared_ptr < DtRouteMap >(* | DtRouteMapCreatorFcn )(const DtRIDParameters *, const MAKRti::DtInetEndpoint &) |
| DtForwarderPort creator signature. More... | |
Public Member Functions | |
| virtual void | rebuildRoutes () |
| when the routes file is first read, or if a forwarder is added/ or removed, we should rebuild our routes. More... | |
| virtual bool | isConfiguredViaRoutesFile () const |
| Indicate if this route map was built from a configuration file. More... | |
| virtual bool | isEmpty () const |
| virtual | ~DtRouteMap () |
| virtual DtNodeList | nodeNames () const |
| Get the complete list of nodes recognized by this DtRouteMap. More... | |
| virtual DtAddressPortList | nodeAddresses () const |
| virtual void | setLocalNodeId (unsigned long newId) |
| virtual unsigned long | localNodeId () const |
| unsigned long | lowestNodeId () const |
| returns the lowest known node Id. More... | |
| virtual unsigned long | consumeNextAvailableNodeId () |
| returns the lowest known node Id and increments internal counter. More... | |
| virtual MAKRti::DtString | nodeNameByAddress (const DtInetAddrAndPort &address) const |
| virtual MAKRti::DtString | nodeHostNameByAddress (const DtInetAddrAndPort &address) const |
| virtual unsigned long | nodeIdByAddress (const DtInetAddrAndPort &address) const |
| virtual unsigned long | nodeIdByName (const MAKRti::DtString &name) const |
| virtual DtInetAddrAndPort | nodeAddress (const MAKRti::DtString &name) const |
| virtual std::pair < DtInetAddrAndPort, DtInetAddrAndPort > | publicPrivatePairByPublicAddress (const DtInetAddrAndPort &address) const |
| virtual const MAKRti::DtString & | localNodeName () const |
| virtual DtForwarderGroupList | forwarderGroups () const |
| Get a list of the recognized Forwarder Groups. More... | |
| virtual DtRtiForwarderGroup * | localGroup () const |
| Get a pointer to the local Forwarder Group. More... | |
| virtual void | setForwarderPort (unsigned int port) |
| Get/Set the forwarder port (generally set via the RID file) More... | |
| virtual unsigned int | forwarderPort () const |
| virtual void | setForwarderInterfaceAddr (const MAKRti::DtInetAddr &addr) |
| Get/Set the forwarder interface address (generally set via the routes file) More... | |
| virtual const MAKRti::DtInetAddr & | forwarderInterfaceAddr () const |
| virtual DtAddressPortList | adjacencyList (const DtInetAddrAndPort &node) const |
| Get the list of all nodes directly connected to node. More... | |
| virtual DtAddressPortList | adjacencyList (const MAKRti::DtString &node) const |
| virtual void | destinationList (DtAddressPortList &destinations, const DtInetAddrAndPort &srcNode, const DtInetAddrAndPort &linkNode) const |
| Add the list of destinations for msgs from source node through link node to the destination list supplied in the first argument. More... | |
| virtual void | destinationList (DtAddressPortList &destinations, const MAKRti::DtString &srcNode, const MAKRti::DtString &linkNode) const |
| virtual void | allLinkDestinations (DtAddressPortList &destinations, const DtInetAddrAndPort &node) const |
| Add the list of upstream / downstream destinations for the specified source node to the destination list supplied in the first argument. More... | |
| virtual void | allLinkDestinations (DtAddressPortList &destinations, const MAKRti::DtString &node) const |
| virtual void | foreignPortalDestinations (DtAddressPortList &destinations, const DtInetAddrAndPort &node) const |
| Add the list of portals in foreign Forwarder Groups to which the specified node will forward messages to the destination list supplied in the first argument. More... | |
| virtual void | foreignPortalDestinations (DtAddressPortList &destinations, const MAKRti::DtString &node) const |
| virtual void | foreignGroupConnections (DtAddressPortList &foreignNodes, const DtInetAddrAndPort &node) const |
| Add the list of forwarders in foreign Forwarder Groups which have a connection to the specified node to the node list supplied in the first argument. More... | |
| virtual void | foreignGroupConnections (DtAddressPortList &foreignNodes, const MAKRti::DtString &node) const |
| virtual void | localGroupDestinations (DtAddressPortList &destinations, const DtInetAddrAndPort &node) const |
| Add the list of other forwarders in the local Forwarder Group to the destination list supplied in the first argument. More... | |
| virtual void | localGroupDestinations (DtAddressPortList &destinations, const MAKRti::DtString &node) const |
| virtual const DtInterfaceAddrSet & | getInterfaceAddrs () const |
| Get the complete list of localhost interface addresses. More... | |
| virtual bool | addForwarder (const MAKRti::DtString &forwarderName, const MAKRti::DtInetAddr &forwarderAddr, int port) |
| Add a new Forwarder to the list by name and address and port. More... | |
| virtual bool | removeForwarder (const DtInetAddrAndPort &addr) |
| Remove a forwarder from the known routes. More... | |
| virtual bool | addForwarderConnection (const MAKRti::DtString &forwarderNameA, const MAKRti::DtString &forwarderNameB) |
| Add a new Connection between two forwarders A<->B by name Returns false if forwarder name is unrecognized. More... | |
| virtual bool | addForeignPortalConnection (const MAKRti::DtString &forwarder) |
| Add a new connection from the local forwarder to a portal in a foreign forwarder group by name. More... | |
| virtual bool | addForeignForwarderConnection (const MAKRti::DtString &forwarder) |
| Add a new connection to a forwarder in a foreign forwarder group by name This should only be invoked by a portal forwarder. More... | |
| virtual bool | addLocalGroupConnection (const MAKRti::DtString &peerForwarder) |
| Add a new connection between the local forwarder and another member of the same Forwarder Group. More... | |
| virtual bool | addForwarderRoute (const MAKRti::DtString &linkForwarderName, const MAKRti::DtString &forwarderNameA, const MAKRti::DtString &forwarderNameB) |
| Create a new forwarding route between two forwarders through a third Connection is unidirectional, the reverse link must also be added if desired i.e. More... | |
| virtual bool | addInterfaceAddr (const MAKRti::DtInetAddr &interfaceAddr) |
| Add a new NIC address to the list of localhost addresses Returns false if address is invalid or a duplicate. More... | |
| virtual DtRtiForwarderGroup * | addForwarderGroup (const MAKRti::DtString &groupName) |
| Add a new load balancing / fault tolerance Forwarder Group. More... | |
| virtual bool | addForwarderToGroup (const MAKRti::DtString &groupName, const MAKRti::DtString &forwarderName, const MAKRti::DtString &url, int isPortal) |
| Add a forwarder to an established Forwarder Group. More... | |
| virtual bool | enableDistributedUdpForwarding (const MAKRti::DtString &forwarder) |
| Maintain a list of forwarders allowed to listen to and forward multicast messages when Distributed UDP Forwarding is enabled. More... | |
| virtual bool | isMulticastMonitoringAllowed () const |
| Return true if forwarder node is in the list of forwarders allowed to listen to and forward multicast messages. More... | |
| virtual bool | enableCompression (const MAKRti::DtString &forwarder, int level) |
| Enables compression from this forwarder to the given forwarder (only if this forwarder is configured to establish a connection to the forwarder). More... | |
| virtual bool | enableBundling (const MAKRti::DtString &forwarder, int bundleSize) |
| Enables bundling from this forwarder to the given forwarder (only if this forwarder is configured to establish a connection to the forwarder). More... | |
| virtual int | compressionLevel (const DtInetAddrAndPort &forwarder) |
| Returns the compression level for the given forwarder, or 0 if this forwarder connection should not be compressed. More... | |
| virtual int | bundleSize (const DtInetAddrAndPort &forwarder) |
| Returns the packet bundle size for the given forwarder, or 0 if this forwarder connection should not be bundled. More... | |
| virtual bool | isLocalGroupMember (const DtInetAddrAndPort &forwarder) const |
| Determine if the specified address belongs to a forwarder of the local Forwarder Group. More... | |
| virtual DtInetAddrAndPort | locatePortal (const DtInetAddrAndPort &targetNode) const |
| Find the portal forwarder for the group which the targeted node belongs to. More... | |
| virtual DtInetAddrAndPort | locatePortal (const MAKRti::DtString &targetGroupName) const |
| virtual DtInetAddrAndPort | nextForwarderOnRoute (const DtInetAddrAndPort &targetNode) const |
| Find the next forwarder in the route to the group which the targeted belongs to. More... | |
| virtual DtInetAddrAndPort | nextForwarderOnRoute (const MAKRti::DtString &targetGroupName) const |
| virtual bool | forwardRtiexecMsgs () const |
| Returns true if this forwarder should forward messages received from other forwarders which are destined for the rtiexec to the next forwarder in the path to the rtiexec. More... | |
| virtual void | concatAddressList (DtAddressPortList &final, const DtAddressPortList &src) const |
| Append one address list (vector) to another, eliminating duplicates. More... | |
| virtual void | print () const |
| Output the Routing Table. More... | |
| virtual void | knownForwarderNodes (std::set< DtForwarderNodeInfo > &otherNodes) const |
| Retrieves the forwarders known by this forwarder. More... | |
| virtual void | addKnownForwarder (const DtInetAddrAndPort &fwDestination, unsigned long nodeId, const MAKRti::DtString &fwName, const MAKRti::DtString &hostname, const std::set< DtForwarderNodeInfo > &peers) |
| Adds a known forwarder. Dynamic forwarder configuration only. More... | |
| virtual bool | updateForwarder (const DtInetAddrAndPort &fwDestination, unsigned long fwNodeId, const MAKRti::DtString &fwName, const MAKRti::DtString &fwHostName, const std::set< DtForwarderNodeInfo > &peers) |
| Updates a known forwarder. Dynamic forwarder configuration only. More... | |
| virtual void | updateForwarderNodeId (const DtInetAddrAndPort &fwDestination, unsigned long fwNodeId) |
| Updates the node ID of a known forwarder. Dynamic forwarder configuration only. More... | |
| virtual void | addAddressAlias (const MAKRti::DtInetAddr &knownAddr, const MAKRti::DtInetAddr &aliasAddr) |
| Adds another IP address alias for a known address. More... | |
| const MAKRti::DtInetAddr & | addressAlias (const MAKRti::DtInetAddr &knownAddr) const |
| Looks up the alias for a given address. More... | |
| const MAKRti::DtInetAddr & | privateAddress (const MAKRti::DtInetAddr &knownAddr) const |
| virtual void | setRtiexecConnectionId (unsigned long) |
| virtual unsigned long | rtiexecConnectionId () const |
Static Public Member Functions | |
| static std::shared_ptr < DtRouteMap > | create (const DtRIDParameters *params, const MAKRti::DtInetEndpoint &fwAddrToConnectTo) |
| Creates an instance of a DtRouteMap. More... | |
| static void | setCreatorFunction (DtRouteMapCreatorFcn creator) |
| Call this function to set an alternate creator function With this function, users can replace this DtRouteMap with their own derived class. More... | |
Protected Types | |
| typedef std::map < DtInetAddrAndPort, MAKRti::DtString > | DtConnectionAddrToNameMap |
| typedef std::map < MAKRti::DtString, DtInetAddrAndPort > | DtConnectionNameToAddrMap |
| typedef std::pair< std::vector < MAKRti::DtString > , DtAddressPortList > | DtConnectionList |
| typedef std::map < DtInetAddrAndPort, DtConnectionList > | DtAddrToConnectionListMap |
| typedef std::multimap < DtInetAddrAndPort, DtInetAddrAndPort > | DtSrcToDestinationsMap |
| typedef std::map < DtInetAddrAndPort, DtInetAddrAndPort > | DtDestinationToLinkMap |
| typedef std::map < MAKRti::DtInetAddr, MAKRti::DtInetAddr > | DtInetAddrAliasMap |
| typedef std::map < DtInetAddrAndPort, DtSrcToDestinationsMap > | DtRoutingTable |
| typedef std::map < MAKRti::DtString, DtRtiForwarderGroup * > | DtGroupNameTable |
| typedef std::map < DtInetAddrAndPort, DtRtiForwarderGroup * > | DtForwarderGroupConnectionTable |
| typedef std::map < MAKRti::DtString, int > | DtForwarderCompressionMap |
| typedef std::map < MAKRti::DtString, int > | DtForwarderBundlingMap |
Protected Member Functions | |
| DtRouteMap (const DtRIDParameters *params, const MAKRti::DtInetEndpoint &additionalForwarder) | |
| virtual void | registerRoutesFileParams () |
| Register the commands to parse from the Routes file and calls openRoutesFile() to load the lisp file. More... | |
| virtual void | setupDefaultRoutes () |
| Setup the default network of forwarders if the routes file does not specify any router connections. More... | |
| virtual void | setupSinglePortalRoutes () |
| virtual void | setupLoadBalanceRoutes () |
| virtual void | openRoutesFile () |
| Open and Parse the route map file. More... | |
| virtual void | initializeInterfaceList () |
| Add the IP address of the default interface to the network adapter interface list. More... | |
| virtual DtForwarderGroupInterconnectMethod | setGroupInterconnectMethod (MAKRti::DtString methodString) |
| Convert the Forwarder Group Interconnect method string to the equivalent enumerated value. More... | |
| DtRouteMap () | |
| Default Ctor, Copy Ctor, Assignment - unimplemented. More... | |
| DtRouteMap (const DtRouteMap &orig) | |
| virtual void | setupNodeName () |
| DtRouteMap & | operator= (const DtRouteMap &orig) |
| virtual void | setupDestinationsMap () |
| Sets up the map from destinations to next forwarder in the route when routes are configured manually in the routes file. More... | |
Static Protected Attributes | |
| static DtRouteMapCreatorFcn | theCreator |
| typedef std::vector<MAKRti::DtInetAddr> DtRouteMap::DtAddressList |
| typedef std::vector< DtInetAddrAndPort > DtRouteMap::DtAddressPortList |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
| typedef std::vector< DtRtiForwarderGroup* > DtRouteMap::DtForwarderGroupList |
|
protected |
|
protected |
| typedef std::set< MAKRti::DtInetAddr > DtRouteMap::DtInterfaceAddrSet |
| typedef std::vector< MAKRti::DtString > DtRouteMap::DtNodeList |
| typedef std::shared_ptr<DtRouteMap>(* DtRouteMap::DtRouteMapCreatorFcn)(const DtRIDParameters *, const MAKRti::DtInetEndpoint &) |
DtForwarderPort creator signature.
|
protected |
|
protected |
|
protected |
|
virtual |
|
protected |
Default Ctor, Copy Ctor, Assignment - unimplemented.
|
protected |
|
virtual |
Adds another IP address alias for a known address.
This is necessary, for instance, when another forwarder is behind a router using NAT, such that this forwarder recognizes it as a different IP than what it recognizes itself as.
|
virtual |
Add a new connection to a forwarder in a foreign forwarder group by name This should only be invoked by a portal forwarder.
Returns false if foreign forwarder name is unrecognized
|
virtual |
Add a new connection from the local forwarder to a portal in a foreign forwarder group by name.
Returns false if foreign portal name is unrecognized.
|
virtual |
Add a new Forwarder to the list by name and address and port.
If specified port is DtUseDefaultForwarderPort, the default forwarder port specified in the RID file is used. Returns false if attempted to add an existing name or ip/port
|
virtual |
Add a new Connection between two forwarders A<->B by name Returns false if forwarder name is unrecognized.
|
virtual |
Add a new load balancing / fault tolerance Forwarder Group.
|
virtual |
Create a new forwarding route between two forwarders through a third Connection is unidirectional, the reverse link must also be added if desired i.e.
|
virtual |
Add a forwarder to an established Forwarder Group.
|
virtual |
Add a new NIC address to the list of localhost addresses Returns false if address is invalid or a duplicate.
|
virtual |
Adds a known forwarder. Dynamic forwarder configuration only.
|
virtual |
Add a new connection between the local forwarder and another member of the same Forwarder Group.
Returns false if peer forwarder name is unrecognized
|
inline |
Looks up the alias for a given address.
Return value will be INADDR_ANY if address could not be found in alias list.
References myInetAddrAliases.
|
virtual |
Get the list of all nodes directly connected to node.
|
virtual |
|
virtual |
Add the list of upstream / downstream destinations for the specified source node to the destination list supplied in the first argument.
|
virtual |
|
virtual |
Returns the packet bundle size for the given forwarder, or 0 if this forwarder connection should not be bundled.
|
virtual |
Returns the compression level for the given forwarder, or 0 if this forwarder connection should not be compressed.
|
virtual |
Append one address list (vector) to another, eliminating duplicates.
|
virtual |
returns the lowest known node Id and increments internal counter.
|
static |
Creates an instance of a DtRouteMap.
|
virtual |
Add the list of destinations for msgs from source node through link node to the destination list supplied in the first argument.
|
virtual |
|
virtual |
Enables bundling from this forwarder to the given forwarder (only if this forwarder is configured to establish a connection to the forwarder).
|
virtual |
Enables compression from this forwarder to the given forwarder (only if this forwarder is configured to establish a connection to the forwarder).
|
virtual |
Maintain a list of forwarders allowed to listen to and forward multicast messages when Distributed UDP Forwarding is enabled.
|
virtual |
Add the list of forwarders in foreign Forwarder Groups which have a connection to the specified node to the node list supplied in the first argument.
Note the naming convention – this is not called foreignGroupDestinations simply because the entries within it are not assumed to be destinations for forwarded messages, only a list of forwarders in other groups that are expected to send messages to this node.
|
virtual |
|
virtual |
Add the list of portals in foreign Forwarder Groups to which the specified node will forward messages to the destination list supplied in the first argument.
|
virtual |
|
virtual |
Get a list of the recognized Forwarder Groups.
|
inlinevirtual |
References myForwarderInterfaceAddr.
|
virtual |
|
virtual |
Returns true if this forwarder should forward messages received from other forwarders which are destined for the rtiexec to the next forwarder in the path to the rtiexec.
For single portal and load balancing networks, this can cause a message to be routed to the rtiexec more than once. rtiexec message forwarding should therefore only occur in manually configured forwarder networks.
|
virtual |
Get the complete list of localhost interface addresses.
|
protectedvirtual |
Add the IP address of the default interface to the network adapter interface list.
|
virtual |
Indicate if this route map was built from a configuration file.
|
virtual |
|
virtual |
Determine if the specified address belongs to a forwarder of the local Forwarder Group.
|
virtual |
Return true if forwarder node is in the list of forwarders allowed to listen to and forward multicast messages.
|
virtual |
Retrieves the forwarders known by this forwarder.
Dynamic forwarder configuration only.
|
virtual |
Get a pointer to the local Forwarder Group.
|
virtual |
Add the list of other forwarders in the local Forwarder Group to the destination list supplied in the first argument.
|
virtual |
|
virtual |
|
virtual |
|
virtual |
Find the portal forwarder for the group which the targeted node belongs to.
|
virtual |
| unsigned long DtRouteMap::lowestNodeId | ( | ) | const |
returns the lowest known node Id.
|
virtual |
Find the next forwarder in the route to the group which the targeted belongs to.
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
Get the complete list of nodes recognized by this DtRouteMap.
|
protectedvirtual |
Open and Parse the route map file.
|
protected |
|
virtual |
Output the Routing Table.
|
inline |
References myInetPrivateByKnownAddr.
|
virtual |
|
virtual |
when the routes file is first read, or if a forwarder is added/ or removed, we should rebuild our routes.
|
protectedvirtual |
Register the commands to parse from the Routes file and calls openRoutesFile() to load the lisp file.
|
virtual |
Remove a forwarder from the known routes.
returns whether it was successfully removed
|
virtual |
|
static |
Call this function to set an alternate creator function With this function, users can replace this DtRouteMap with their own derived class.
|
inlinevirtual |
Get/Set the forwarder interface address (generally set via the routes file)
References myForwarderInterfaceAddr.
|
virtual |
Get/Set the forwarder port (generally set via the RID file)
|
protectedvirtual |
Convert the Forwarder Group Interconnect method string to the equivalent enumerated value.
|
virtual |
|
virtual |
|
protectedvirtual |
Setup the default network of forwarders if the routes file does not specify any router connections.
|
protectedvirtual |
Sets up the map from destinations to next forwarder in the route when routes are configured manually in the routes file.
|
protectedvirtual |
|
protectedvirtual |
|
protectedvirtual |
|
virtual |
Updates a known forwarder. Dynamic forwarder configuration only.
|
virtual |
Updates the node ID of a known forwarder. Dynamic forwarder configuration only.
|
protected |
|
protected |
Set of forwarders to which we should have bundling enabled.
|
protected |
Set of forwarders to which we should have compression enabled.
|
protected |
|
protected |
|
protected |
Port used for forwarder-to-forwarder connections.
|
protected |
|
protected |
|
protected |
|
protected |
the one I'm in
|
protected |
The interface used for forwarder-to-forwarder connections.
Referenced by forwarderInterfaceAddr(), and setForwarderInterfaceAddr().
|
protected |
|
protected |
all groups
|
protected |
Some forwarders can be known by multiple addresses.
This is a mapping from known aliases to the primary address.
Referenced by addressAlias().
|
protected |
Referenced by privateAddress().
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
mutableprotected |
|
mutableprotected |
|
protected |
List of forwarders allowed to act as Distributed UDP Forwarders, meaning they are allowed to listen to and forward multicast messages from the LAN.
The use must manually select which forwarders have this enabled to ensure that only a single copy of multicast messages are forwarded by one forwarder on each LAN.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
staticprotected |