Public Member Functions |
| | DtRtiAssistantPeer (int id, int port, const MAKRti::DtInetAddr &ipv4Addr, const MAKRti::DtInetAddr &ipv6Addr, int ttl, bool disableMulticast, const DtNetU128 &uuid) |
| | Constructor.
|
| virtual | ~DtRtiAssistantPeer () |
| | Destructor.
|
| virtual bool | tick (double timeout=0) |
| | Do the actual message processing.
|
| virtual void | setMsgFactory (DtAssistantMessageFactory *fact) |
| | Set the message factory.
|
| virtual DtAssistantMessageFactory * | msgFactory () const |
| | Get the message factory.
|
| virtual void | sendQueryMsg () |
| | Sends a query message to the other Assistants for their information.
|
| virtual void | sendForeignQueryMsg (const DtAssistantInfo &assistant) |
| | Sends a query message to the other Assistants for their information.
|
| virtual void | sendForeignQueryMsg (const DtAssistantConnectionStruct &assistant) |
| | Sends a query message to the other Assistants for their information.
|
| virtual void | sendForeignBreakMsg (const DtAssistantInfo &assistant) |
| | Sends a break message to the other Assistant.
|
| virtual void | sendAssistantConnMsg (const DtAssistantConnectionStruct &assistant, DtAssistantHandshakeType handshakeType, const DtAssistantConnectionId &id, const DtAssistantConnectionId &ackId=DtAssistantUuidNIL) |
| | Sends a Assistant Connection message.
|
| virtual void | sendInfoMsg (const DtRtiConnectionAndConfiguration &connsAndConfigs, unsigned memoryPeriod, bool acceptRemoteCommands, bool removal) |
| | Sends the information from this Assistant to the other Assistants.
|
| virtual void | sendLightweightInfoMsg (const DtRtiConnectionAndConfiguration &connsAndConfigs, unsigned memoryPeriod) |
| | Sends the local lightweight connection information from this Assistant to the other Assistants.
|
| virtual void | sendLicServerInfoMsg (const DtLicServerSet &licServers, bool removal) |
| | Sends the information from this Assistant to the other Assistants.
|
| virtual void | sendForwarderConnectMsg (int compId, const DtString &targetHost, const MAKRti::DtInetAddr &targetAddress, int targetPort, const DtAssistantInfo &assistant) |
| | Sends a connect to forwarder message to a forwarder component.
|
| virtual void | sendStartRtiForwarderMsg (const DtRtiConnectionInfoDataPair &conn, const DtRtiConnectionConfigurationInfo &config, const DtAssistantInfo &assistant=DtAssistantInfo()) |
| | Sends a message to another Assistant to start an rtiexec with the given connection parameters.
|
| virtual void | sendStartRtiexecMsg (const DtRtiConnectionInfoDataPair &conn, const DtRtiConnectionConfigurationInfo &config, const DtAssistantInfo &assistant=DtAssistantInfo()) |
| | Sends a message to another Assistant to start an rtiexec with the given connection parameters.
|
| virtual void | sendObserveFederationsMsg (const DtRtiConnectionInfo &conn, bool observe, const DtAssistantInfo &assistant=DtAssistantInfo(), int compId=-1) |
| | Sends a message to another Assistant to either begin or stop observing the federations of the given connection.
|
| virtual void | sendObserveRtiExecLogMsg (const DtAssistantInfo &assistant, int compId, bool observe) |
| | Sends a message to another Assistant to either begin or stop observing the given rtiExec printer connection.
|
| virtual void | sendObserveRtiexecRspMsg (DtNotifyLevelType notifyLevel, int compId, const DtAssistantInfo &destination) |
| | Sends an observe response message to a remote Assistant observing a local rtiexec.
|
| virtual void | sendObserveRtiForwarderMsg (const DtRtiConnectionInfo &conn, bool observe, const DtAssistantInfo &assistant, int compId) |
| | Sends a message to another Assistant to either begin or stop observing the RTI Forwarder on the given connection.
|
| virtual void | sendFederationStateMsg (const DtRtiConnectionInfoDataPair &conn, const DtAssistantFederationInfo &federation, bool isRemoval) |
| | Sends a message to the other Assistants with the state of the given federation.
|
| virtual void | sendNoFederationMsg (const DtRtiConnectionInfoDataPair &conn) |
| | Sends a message to the other Assistants informing them that a local rtiexec has no federations.
|
| virtual void | sendFederateResignMsg (const DtAssistantInfo &assistant, int compId, int federationHdl, int federateHdl) |
| | Sends a force federate resign message to a remote Assistant to be forwarded to a remote rtiexec.
|
| virtual void | sendFederationDestroyMsg (const DtAssistantInfo &assistant, int compId, int federationHdl) |
| | Sends a force federation destroy message to a remote Assistant to be forwarded to a remote rtiexec.
|
| virtual void | sendRidParamsRequestMsg (const DtAssistantInfo &assistant, int compId) |
| | Sends a message to a remote Assistant to get the RID parameters of one of its rtiexecs.
|
| virtual void | sendLogRequestMsg (const DtAssistantInfo &assistant, int compId, unsigned maxLogSize) |
| | Sends a message to a remote Assistant to get the log, or at least the most recent entries up to a size of maxLogSize bytes, of one of its rtiexecs.
|
| virtual bool | sendLatencyTestRequestMsg (const DtAssistantInfo &assistant, int compId, int federationHdl, int federateHdl, bool runTest, bool continuous, bool shouldHalt, bool observing, unsigned int interactionPeriod, unsigned int numInteractions, unsigned int payloadBytes) |
| | Sends a latency test request message to a remote Assistant to be forwarded to a remote rtiexec.
|
| virtual void | sendNetworkTestEnableMsg (const DtAssistantInfo &assistant, int compId, int federationHdl, bool enable) |
| | Sends a message enabling or disabling network testing for the given federation.
|
| virtual void | sendRtiexecExitMsg (const DtAssistantInfo &assistant, int compId) |
| | Sends a message to a remote Assistant asking it to shutdown one of its local rtiexecs.
|
| virtual void | sendNotifyObserveMsg (bool isObserving) |
| | Sends a message to other assistants letting them know that we are observing notification messages.
|
| virtual void | sendNotifyMsg (const MAKRti::DtString &text, DtNotifyLevelType notifyLevel, const MAKRti::DtString &sourceName) |
| | Sends a notification message to other assistants.
|
| virtual void | sendRemovalMsg () |
| | Sends a removal message to the other Assistants to inform them that this Assistant should be removed from their lists of known Assistants.
|
| virtual void | sendFederateInfoReqMsg (const DtAssistantInfo &astnt, const DtRtiConnectionInfo &conn, const MAKRti::DtString &federation=MAKRti::DtString::nullString(), unsigned federateHandle=0) |
| | Sends a message to the other Assistants which queries for federate info.
|
| virtual void | sendFederateInfoRespMsg (const DtRtiConnectionInfo &conn, std::vector< const DtAssistantFederateInfo * > federates) |
| | Sends a message to the other Assistants in response to a federate info request with information on one or more matching federates.
|
| virtual void | sendNetStatsObservationRequestMsg (const DtAssistantInfo &astnt, DtAssistantObservationType observationType, int compId, bool observe=false, unsigned int interval=0) |
| | Sends a Observation Request to an assistant.
|
| virtual void | sendNetStatsObservationResponseMsg (const DtAssistantInfo &astnt, DtAssistantObservationType observationType, int compId, bool observe) |
| virtual void | sendNetStatsStringUpdateReqMsg (const DtAssistantInfo &assistant, int compId, DtAssistantHandleType handletype, const std::set< DtU32 > &handles) |
| virtual void | sendNetStatsStringUpdate (const DtAssistantInfo &assistant, int compId, DtAssistantHandleType handletype, const std::vector< DtU32 > &objectInstanceHandles, const std::vector< MAKRti::DtString > &objectInstanceNames) |
| virtual void | forwardNetStatsUpdate (const DtAssistantMsg &msg, const std::set< DtAssistantInfo > &observers) |
| virtual void | sendFedDisconnectNetStatsObsRespMsg (DtAssistantObservationType observationType, int compId, const std::set< DtAssistantInfo > &observers) |
| virtual void | sendNetStatsInitStateRequestMsg (const DtAssistantInfo &astnt, DtAssistantObservationType observationType, int compId) |
| virtual void | sendFomTreeData (const DtAssistantInfo &astnt, int compId, const std::vector< MAKRti::DtU32 > &objectClassHandles, const std::vector< MAKRti::DtU32 > &parentObjectClassHandles, const std::vector< MAKRti::DtString > &objectClassNames, const std::vector< MAKRti::DtU32 > &interactionClassHandles, const std::vector< MAKRti::DtU32 > &parentInteractionClassHandles, const std::vector< MAKRti::DtString > &interactionClassNames) |
| virtual void | sendNetStatsAttrStringUpdate (const DtAssistantInfo &astnt, int compId, const std::vector< MAKRti::DtU32 > &objectClassHandles, const std::vector< MAKRti::DtU32 > &attributeHandles, const std::vector< MAKRti::DtString > &attributeNames, const std::vector< MAKRti::DtU32 > &parentClassHandles, const std::vector< MAKRti::DtU32 > &totalObjHandles) |
| virtual void | sendNetStatsParamStringUpdate (const DtAssistantInfo &astnt, int compId, const std::vector< MAKRti::DtU32 > &interClassHandles, const std::vector< MAKRti::DtU32 > ¶meterHandles, const std::vector< MAKRti::DtString > ¶meterNames, const std::vector< MAKRti::DtU32 > &parentInterHandles, const std::vector< MAKRti::DtU32 > &totalInterHandles) |
| virtual void | sendNetStatsAttrParamStringUpdate (const DtAssistantInfo &astnt, int compId, const std::vector< MAKRti::DtU32 > &objectClassHandles, const std::vector< MAKRti::DtU32 > &attributeHandles, const std::vector< MAKRti::DtString > &attributeNames, const std::vector< MAKRti::DtU32 > &parentClassHandles, const std::vector< MAKRti::DtU32 > &totalObjHandles, DtAssistantHandleType objInterType, DtAssistantHandleType attrParamType, DtAssistantHandleType parentClassType) |
| virtual void | sendNetStatsFomAttrParamUpdate (const DtAssistantInfo &astnt, int compId, DtAssistantHandleType handleType, bool isInit, const std::vector< MAKRti::DtU32 > &objectClassHandles, const std::vector< MAKRti::DtU32 > &attributeHandles, const std::vector< bool > &attributePub, const std::vector< bool > &attributeSub, const std::vector< DtTransportType > &attributeTransport, const std::vector< DtOrderType > &attributeOrder, const std::vector< bool > &objectPub, const std::vector< bool > &objectSub, const std::vector< MAKRti::DtU32 > &objPubSubHandles) |
| virtual void | forwardMsg (const DtAssistantMsg &msg, int astntCompId, const DtAssistantInfo &dest=DtAssistantInfo()) |
| | Forwards the given message to the other Assistants over the given interface.
|
| virtual int | port () const |
| | Returns the Assistant peer port.
|
| virtual MAKRti::DtInetAddr | ipv4Address () const |
| | Returns the Assistant IPv4 peer address.
|
| virtual MAKRti::DtInetAddr | ipv6Address () const |
| | Returns the Assistant IPv6 peer address.
|
| virtual int | id () const |
| | Returns the Assistant peer ID.
|
| virtual const MAKRti::DtInetAddr & | currentNetworkInterfaceAddr () const |
| | Returns the network interface address of the current socket being processed.
|
| virtual const DtInetEndpoint & | currentReceivedEndpoint () const |
| | Returns the endpoint for the current message being processed.
|
| virtual const MAKRti::DtInetAddr & | destinationAddress (const DtInetAddr &msgDestination) const |
| | Returns the message destination if not ANY; otherwise, the current networkInterface address.
|
| virtual void | getMsgStats (unsigned &totalRecv, double &recvPerSecOverall, double &recvPerSecCurr, unsigned &totalProc, double &procPerSecOverall, double &procPerSecCurr, unsigned &totalSent, double &sentPerSecOverall, double &sentPerSecCurr) |
| | Get message statistics.
|
| virtual DtU32 | maxMsgSize () const |
| | Gets the maximum message size.
|
| void | sendMsgToAssistant (const DtAssistantInfo &ifAddr, DtAssistantMsg &msg) |
| | Sends the message to the specified Assistant.
|
| virtual void | addForeignAssistantConnection (const DtAssistantConnectionStruct &ipAddr, const MAKRti::DtInetAddr &ifAddr) |
| | Add connection information for a foreign assistant.
|
| virtual void | removeForeignAssistantConnection (const DtAssistantConnectionStruct &ipAddr) |
| | Remove connection information for a foreign assistant.
|
| virtual void | setUuid (const DtAssistantUuid &uuid) |
| | Set the UUID. This should be done outside of the peer once its determined (via file read in connection manager or other means)
|
| virtual const DtAssistantUuid & | uuid () const |
| virtual const DtHostNameAddress & | hostNameAddress () const |
| virtual void | setIgnoreAllPeerCommunication (bool valToSet) |
| | set/get myIgnoreAllPeerCommunication
|
| virtual bool | isIgnoreAllPeerCommunication () const |
| virtual void | addIgnoredAddress (const MAKRti::DtInetAddr &ipAddr) |
| | Add address to ignore.
|
| virtual void | removeIgnoredAddress (const MAKRti::DtInetAddr &ipAddr) |
| | Remove address to ignore.
|
| void | addConnectionLostCallback (DtAssistantConnectionLostCallback cb, void *usr) |
| void | removeConnectionLostCallback (DtAssistantConnectionLostCallback cb, void *usr) |
|
Adds/removes callback for a particular message kind
|
| virtual void | addMsgCallback (DtAssistantMsgKind msgKind, DtAssistantMsgCbMgr::DtCallbackFcn fcn, void *usr) |
| | Adds a callback for notification for the discovery of a new network interface on the local machine.
|
| virtual void | removeMsgCallback (DtAssistantMsgKind msgKind, DtAssistantMsgCbMgr::DtCallbackFcn fcn, void *usr) |
| | Adds a callback for notification for the discovery of a new network interface on the local machine.
|
| virtual void | addInterfaceFoundCallback (DtInterfaceFoundCb cb, void *usr) |
| | Adds a callback for notification for the discovery of a new network interface on the local machine.
|
| virtual void | removeInterfaceFoundCallback (DtInterfaceFoundCb cb, void *usr) |
| | Adds a callback for notification for the discovery of a new network interface on the local machine.
|
Public Attributes |
DtCbInfoStruct(DtInterfaceFoundCb)
protected MAKRti::DtInetAddr | myIpv4Addr |
| | The IPv4 multicast or broadcast address used by the assistant peer.
|
| MAKRti::DtInetAddr | myIpv6Addr |
| | The IPv6 multicast address used by the assistant peer.
|
| int | myTtl |
| | The TTL (Time To Live) for Assistant communication.
|
| int | myId |
| | A unique ID assigned to this assistant peer.
|
std::map< MAKRti::DtInetAddr,
DtUdpMsgSocket * > | mySockets |
| | A map of network interface addresses to the sockets used on those interfaces to communicate with other Assistants.
|
std::map< MAKRti::DtInetAddr,
DtRemoteAssistantSet > | myInterfaceToUdpForeignConnections |
| | A map of network interface addresses to foreign connections reachable from that interface.
|
std::map
< DtAssistantConnectionStruct,
MAKRti::DtInetAddr,
cmpByPublicAddress > | myUdpForeignConnectionToInterface |
| | A map of foreign connections to the interfaces used to reach them.
|
std::map
< DtAssistantConnectionStruct,
std::pair< DtTcpMsgSocket
*, MAKRti::DtInetAddr >
, cmpByConnectionId > | myTcpForeignConnections |
| std::set< DtTcpMsgSocket * > | myServerSocketsToDelete |
std::vector< std::pair
< DtAssistantConnectionStruct,
DtTime > > | myClientSocketsDeleted |
std::map< DtTcpMsgSocket
*, DtAssistantConnectionStruct > | myAssistantConnectionsRemoved |
std::map< MAKRti::DtInetAddr,
DtUdpMsgSocket * >::iterator | mySocketIter |
| | Iterator of the current socket being processed or the next one that will be processed.
|
| DtTcpMsgSocket * | myCurTcpSocket |
| | The current TCP socket being processed or the next one that will be processed.
|
| MAKRti::DtInetAddr | myCurrNetworkInterfaceAddr |
| | The address of the current network interface being read from.
|
| MAKRti::DtInetEndpoint | myCurrReceivedEndpoint |
| | The endpoint.
|
| DtAssistantMsgCbMgr | myMsgCbMgr |
| | Message callback manager.
|
| DtAssistantMessageFactory * | myMessageFactory |
| | The message factory.
|
| DtAssistantDfltMsgFactory | myDefaultMessageFactory |
| | Default message factory.
|
| DtClock | myClock |
| | Clock for timeouts and periodic update messages.
|
| DtTime | myNextCheckInterfacesTime |
| | Time to recheck the interfaces that are available.
|
| DtTime | myNextClearCheckedInterfacesTime |
| | Time to clear checked interfaces.
|
| DtTime | myNextCheckDeadTcpConnections |
| | Time to check the TCP connections.
|
| DtTime | myCheckInterfacesInterval |
| | Interval at which periodic interface checking should be performed.
|
| DtTime | myClearCheckedInterfacesInterval |
| | Interval at which periodic clearing of checked interfaces should be performed.
|
| DtTime | myCheckTcpConnectionsInterval |
| | Interval at which periodic interface checking should be performed.
|
| DtTime | myNextProcessConnectionsTime |
| | Time to process connections (TCP)
|
| DtTime | myNextProcessConnectionsInterval |
| | Interval at which periodic interface checking should be performed.
|
| DtTime | myBeginProcessingTime |
| | The time when this assistant began processing messages.
|
| DtTime | myNextStatsTime |
| | The next time to compute message statistics.
|
| DtTime | myLastStatsTime |
| | The last time message statistics were computed.
|
| DtPeerMsgStats | myReceivedMsgStats |
| | Message statistics for messages received from other assistants.
|
| DtPeerMsgStats | myProcessedMsgStats |
| | Message statistics for messages processed from other assistants.
|
| DtPeerMsgStats | mySentMsgStats |
| | Message statistics for messages sent to other assistants.
|
| std::list< DtInterfaceFoundCbInfo > | myInterfaceFoundCallbacks |
| | The list of network interface discovery callbacks.
|
| bool | myUsingIpv4 |
| | Indicates whether any IPv4 sockets are currently in use.
|
| bool | myUsingIpv6 |
| | Indicates whether any IPv4 sockets are currently in use.
|
| unsigned long | mySequence |
| | Message sequence number.
|
| bool | myDisableMulticast |
| | Indicates whether multicast is disabled.
|
| bool | myIgnoreAllPeerCommunication |
| | Indicates whether peer communication is ignored. This includes sending/receiving UDP.
|
| std::set< DtInetAddr > | myIgnoredAddresses |
| DtAssistantUuid | myUuid |
| DtString | myHostname |
| | The hostname used by the peer when populating messages it sends.
|
| DtHostNameAddress | myHostNameAddress |
| DtTcpServerMap | myPeerTcpServerSockets |
| bool | myProcessingConnections |
std::map< DtTcpMsgSocket
*, MAKRti::DtTime > | myPendingConnections |
| unsigned int | myPendingConnectionsTimeout |
std::map< DtTcpMsgSocket
*, DtAssistantToAssistantConnectionMsg * > | myPendingTcpSynMessages |
std::map
< DtAssistantConnectionId,
DtTcpMsgSocket * > | myConnectingTcpClientSockets |
| std::set< DtTcpMsgSocket * > | myConnectingTcpServerSockets |
| DtAssistantPeerSocketAdditionCallbackList | myTcpClientAdditionCallbacks |
| DtAssistantPeerSocketRemovalCallbackList | myTcpClientRemovalCallbacks |
std::set
< DtAssistanConnectionCbInfo * > | myConnectionLostCallbacks |
std::set< std::pair< DtString,
DtInetUtils::DtInetAddrFamily >
, cmpByMacAddrThenFam > | myDevicesChecked |
Protected Member Functions |
| virtual void | sendStartRtiexecOrForwarderMsg (DtAssistantMsgKind msgKind, const DtRtiConnectionInfoDataPair &conn, const DtRtiConnectionConfigurationInfo &config, const DtAssistantInfo &assistant=DtAssistantInfo()) |
| | Sends a message to another Assistant to start an rtiexec with the given connection parameters.
|
| bool | needsProcessing (const DtAssistantMsg &msg) |
| | Returns true if the message should be processed by this assistant.
|
| bool | addSocketsForInterfaces () |
| | Adds a new socket for each new interface.
|
| bool | addTcpServerSocketsForInterfaces (const DtTime &now=0) |
| | Adds a new TCP server socket for each new interface.
|
| bool | readAndProcess (DtTime maxTime) |
| | Read and process the messages on the socket for up to the maximum time.
|
| bool | readAndProcessConnectingTcpSockets (DtTime maxTime) |
| | Read and process the messages on the connecting TCP socket for up to the maximum time.
|
| bool | readAndProcessTcpSockets (DtTime maxTime) |
| void | retransmitToForeignConnections (const DtAssistantMsg &msg) |
| | Retransmit received messages to foreign Connects excluding source.
|
| void | checkForDeadTcpConnections () |
| void | calculateMsgStatistics () |
| | Calculate message statistics.
|
| void | sendMsgOnInterface (const MAKRti::DtInetAddr &ifAddr, DtAssistantMsg &msg, const DtInetAddr &destAddr=DtInetAddr::inaddrAny(), int port=0) |
| | Sends the message on the specified interface.
|
| void | sendMsg (std::map< MAKRti::DtInetAddr, DtUdpMsgSocket * >::iterator sockIter, DtAssistantMsg &msg, const DtInetAddr &destAddr=DtInetAddr::inaddrAny(), int port=0, bool sendToForeignAssistants=true) |
| | Sends the message to the other Assistants on the given socket If provided, the message is directed to the given destination.
|
| void | sendToForeignConnection (std::map< DtInetAddr, DtUdpMsgSocket * >::iterator sockIter, DtAssistantMsg &msg, const DtInetAddr &destAddr, int port) |
| void | sendToUDPForeignConnection (std::map< DtInetAddr, DtUdpMsgSocket * >::iterator sockIter, DtAssistantMsg *ptToPtMsg, const DtInetAddr &destAddr, int port) |
| void | sendToTCPForeignConnection (std::map< DtInetAddr, DtUdpMsgSocket * >::iterator sockIter, DtTcpMsgSocket *tcpSock, DtAssistantMsg *ptToPtMsg) |
| void | sendMsgToAll (DtAssistantMsg &msg, const DtInetAddr &destAddr=DtInetAddr::inaddrAny(), int port=0, bool sentToForeignAssistants=true) |
| | Sends the message to the other Assistants on all sockets.
|
| virtual void | flushTcpSockets (DtTime maxTime) |
| | Flushes the TCP sockets.
|
| std::auto_ptr< DtAssistantMsg > | netRead (DtMsgSocket *sock, int *retCode, DtInetEndpoint &ep) const |
| | Read a message from the socket.
|
| virtual void | sendTcpMsg (const DtAssistantConnectionStruct &connection, DtAssistantHandshakeType handshakeType, DtAssistantToAssistantConnectionMsg *msgToSend) |
| virtual DtTcpMsgSocket * | initiateTcpConnection (const DtAssistantConnectionStruct &connection) |
| virtual void | queueTcpSynMessage (DtTcpMsgSocket *sock, DtAssistantToAssistantConnectionMsg *msgToSend) |
| virtual void | addConnectingSocket (DtTcpMsgSocket *sock) |
| virtual void | deletePendingSyns (DtTcpMsgSocket *sock) |
| virtual void | processConnections () |
| virtual void | reset (const DtAssistantConnectionStruct &connection) |
| virtual void | tcpSocketAdditionCb (DtTcpMsgSocket *sock) |
| virtual void | tcpSocketRemovalCb (DtTcpMsgSocket *sock) |
| virtual void | invokeRemovalCallbacks (const DtAssistantConnectionStruct &second) |
| virtual void | removeSocket (DtTcpMsgSocket *sock, const DtAssistantConnectionStruct &conn) |