![]() |
MAK RTIspy API Documentation for HLA 1516
|
Collaboration diagram for DtMulticastSubscriptionProcessor:Public Member Functions | |
| DtMulticastSubscriptionProcessor (std::shared_ptr< DtForwarderNode > parent) | |
| Constructor. More... | |
| virtual | ~DtMulticastSubscriptionProcessor () |
| Destructor. More... | |
| bool | listenToMulticastGroup (const DtInetAddrAndPort &src, const DtNetMulticastConfigureMsg *msg) |
| Multicast Configure 'listen' message received callback. More... | |
| bool | dropMulticastGroup (const DtInetAddrAndPort &src, const DtNetMulticastConfigureMsg *msg) |
| Multicast Configure 'drop' message received callback. More... | |
| bool | processDestinationList (const DtInetAddrAndPort &src, DtForwarderPort::DtAddressPortList &destinations) |
| Set forwarding destination list based on source (eg. More... | |
| unsigned int | maxFederates () const |
Static Public Member Functions | |
| static void | setMaxFederates (unsigned int maxFederates) |
| Set/Get size of bitmask utilized in DtAddrToIdMaskMap. More... | |
Protected Types | |
| typedef std::map< unsigned long, MAKRti::DtInetAddr > | DtIdToAddrMap |
| DtMulticastSubscriptionProcessor::DtIdToAddrMap defines a map indexed by federate handle associating remote federates with the multicast addresses that they are listening to on the forwarders LAN. More... | |
| typedef std::map < MAKRti::DtInetAddr, DtBitMask > | DtAddrToIdMaskMap |
| DtMulticastSubscriptionProcessor::DtAddrToIdMaskMap defines a map indexed by multicast addresses associating those addresses with remote federates (via a destination mask) which want the forwarder to listen on that address. More... | |
Protected Member Functions | |
| virtual bool | forceDropMulticastGroup (const MAKRti::DtInetAddr &addr) |
| TO DO – fault tolerance implementation deferred. More... | |
| unsigned long | federateIndex (unsigned long federateHandle) const |
| DtAddrToIdMaskMap helper routine. More... | |
Protected Attributes | |
| std::shared_ptr< DtForwarderNode > | myParent |
| DtIdToAddrMap | myFedIdToAddressMap |
| DtAddrToIdMaskMap | myAddressToFedIdsMap |
| DtMulticastListenDropFilter < DtMulticastSubscriptionProcessor > * | myListenDropFilter |
| Filter to detect DtMcastConfigureMsgKind messages. More... | |
| unsigned long | myLastMulticastDropFedHdl |
| It's possible for the DtMulticastSubscriptionProcessor to process the same message twice, once for sending to the LAN, once for sending to the other forwarders. More... | |
| MAKRti::DtInetAddr | myLastMulticastDropAddr |
Static Protected Attributes | |
| static unsigned int | theMaxFederates |
| Count of maximum number of federates to include in DtAddrToIdMaskMap. More... | |
Private Member Functions | |
| DtMulticastSubscriptionProcessor () | |
| Default constructor unimplemented. More... | |
|
protected |
DtMulticastSubscriptionProcessor::DtAddrToIdMaskMap defines a map indexed by multicast addresses associating those addresses with remote federates (via a destination mask) which want the forwarder to listen on that address.
|
protected |
DtMulticastSubscriptionProcessor::DtIdToAddrMap defines a map indexed by federate handle associating remote federates with the multicast addresses that they are listening to on the forwarders LAN.
|
private |
Default constructor unimplemented.
| DtMulticastSubscriptionProcessor::DtMulticastSubscriptionProcessor | ( | std::shared_ptr< DtForwarderNode > | parent | ) |
Constructor.
|
virtual |
Destructor.
| bool DtMulticastSubscriptionProcessor::dropMulticastGroup | ( | const DtInetAddrAndPort & | src, |
| const DtNetMulticastConfigureMsg * | msg | ||
| ) |
Multicast Configure 'drop' message received callback.
|
protected |
DtAddrToIdMaskMap helper routine.
|
protectedvirtual |
TO DO – fault tolerance implementation deferred.
TO DO – fault tolerance implementation deferred Force drop of multicast group if connection(s) lost
| bool DtMulticastSubscriptionProcessor::listenToMulticastGroup | ( | const DtInetAddrAndPort & | src, |
| const DtNetMulticastConfigureMsg * | msg | ||
| ) |
Multicast Configure 'listen' message received callback.
| unsigned int DtMulticastSubscriptionProcessor::maxFederates | ( | ) | const |
| bool DtMulticastSubscriptionProcessor::processDestinationList | ( | const DtInetAddrAndPort & | src, |
| DtForwarderPort::DtAddressPortList & | destinations | ||
| ) |
Set forwarding destination list based on source (eg.
which inlet the message was received on) and forwarder network configuration
|
static |
Set/Get size of bitmask utilized in DtAddrToIdMaskMap.
|
protected |
|
protected |
|
protected |
|
protected |
It's possible for the DtMulticastSubscriptionProcessor to process the same message twice, once for sending to the LAN, once for sending to the other forwarders.
Keep track of the last message to prevent this.
|
protected |
Filter to detect DtMcastConfigureMsgKind messages.
|
protected |
|
staticprotected |
Count of maximum number of federates to include in DtAddrToIdMaskMap.