![]() |
MAK RTIspy API Documentation for HLA 1516
|
The DtForwarderPort is an Abstract Base Class which provides the interface to a collection of connections from which messages may be read and to which messages may be sent. More...
Inheritance diagram for DtInOutForwarderPort:
Collaboration diagram for DtInOutForwarderPort:Public Member Functions | |
| virtual | ~DtInOutForwarderPort () |
| virtual bool | isReady () const |
| Is the Port fully usable and available? | |
| virtual DtAddressMsgPair | getNextMsg () |
| Get the next message to forward and the source connection. | |
| virtual bool | getInitializationMsgs (DtForwarderPort::DtSocketSet &socks, std::list< DtAddressMsgPair > &msgs, bool printBeDestMetadata) |
| Get the next initialization messages off of a set of pending TCP sockets. | |
| virtual bool | getInitializationMsg (DtMsgSocket *sock, DtAddressMsgPair &msg, bool printBeDestMetadata) |
| Get the next initialization message off of a pending TCP socket. | |
| virtual void | sendByTransport (const DtForwarderMsg &msg) const |
| Check transport metadata and send message to appropriate destinations. | |
| virtual void | sendToAllReliable (const DtForwarderMsg &msg) const |
| Send a message to all available destinations. | |
| virtual void | sendToListReliable (const DtForwarderMsg &msg, const DtAddressPortList &destinations) const |
| Send a message to the specified list of destinations excluding the list of filtered destinations. | |
| virtual void | selectParams (MAKRti::DtSelectParamWithWrite &selectParams) |
| Add this port's current select() notification set to the passed set. | |
| virtual void | updateRoutes () |
| Handle changes to the Routing map. | |
| virtual void | processInitializationMessages () |
| virtual int | checkConnectionStatus (const DtInetAddrAndPort *target=0) |
| Test for lost connections - returns true if targeted connection is active or if no target specified returns false if at least one drop detected. | |
| virtual void | clearNeededConnections () |
| Clear the list of needed forwarder connections. | |
| virtual unsigned int | abortPendingConnections () |
| Abort any embryonic connections. | |
| virtual unsigned int | pendingConnectionsAborted () |
| Return a count of aborted or failed connection attempts. | |
| virtual DtAddressPortList | connections () const |
| Get the list of all current connections to this port. | |
| virtual void | listenToMulticastGroup (const MAKRti::DtInetAddr &mcastAddr) |
| Listen / drop multicast groups (not implemented in this class) | |
| virtual void | dropMulticastGroup (const MAKRti::DtInetAddr &mcastAddr) |
| virtual bool | updateFederateConnectionId (unsigned long orig, unsigned long final) |
| Update locally connected federate connection ID (LAN-port-only) | |
| virtual bool | flush () |
| Flush any pending messages. | |
| virtual bool | flushOnly () |
| Flush any pending messages. Does not do any socket disconnect processing. | |
| virtual MAKRti::DtString | connectionListToString (const char *separator=" : ") const |
| Print the current connection list. | |
| virtual bool | populateConnectionInformation (unsigned int &numForwarderToForwarderConns, std::vector< MAKRti::DtString > &forwarderIdentifiers, std::vector< MAKRti::DtString > &forwarderConnectionHostNames, std::vector< DtInetAddrAndPort > &forwarderConnectionAddrs) const |
| virtual void | socketAdditionCb (DtTcpMsgSocket *sock) |
| virtual void | sendMacAddrMsg (DtTcpMsgSocket *sock) |
| Send a populated DtMacAddrMsg to the specified socket. | |
| virtual void | sendPortMsg (DtTcpMsgSocket *sock) |
| Send a message indicating our local socket port for the given socket. | |
| virtual void | socketEstablishedCb (DtTcpMsgSocket *sock) |
| virtual void | socketRemovalCb (DtTcpMsgSocket *sock) |
| virtual void | processForwarderNodeInfoMsg (const DtForwarderPort::DtAddressMsgPair &msg) |
| virtual void | processMacAddrMsg (const DtForwarderPort::DtAddressMsgPair &msg) |
| virtual void | processPortMsg (const DtForwarderPort::DtAddressMsgPair &msgPair) |
| Process a message indicating the listening port of the forwarder on the other end of a socket. | |
| void | sendForwarderNodeInfoMsg (DtTcpMsgSocket *sock) |
| void | sendForwarderNodeInfoMsg () |
Public Member Functions inherited from DtForwarderPort | |
| virtual | ~DtForwarderPort () |
| virtual bool | isOk () const |
| Is the Port still alive? | |
| virtual void | addConnectionEstablishedCb (DtConnectionChangeCb callback, void *usr) |
| Register/Unregister a callback for new connections. | |
| virtual void | removeConnectionEstablishedCb (DtConnectionChangeCb callback, void *usr) |
| virtual void | addConnectionLostCb (DtConnectionChangeCb callback, void *usr) |
| Register/Unregister a callback for dropped connections. | |
| virtual void | removeConnectionLostCb (DtConnectionChangeCb callback, void *usr) |
| virtual void | addForwarderPortReadyCb (DtPortReadyCb callback, void *usr) |
| virtual void | removeForwarderPortReadyCb (DtPortReadyCb callback, void *usr) |
| virtual void | addFederateJoinedCb (DtFederateAddedCb callback, void *usr) |
| virtual void | removeFederateJoinedCb (DtFederateAddedCb callback, void *usr) |
| virtual void | addFederateResignedCb (DtFederateRemovedCb callback, void *usr) |
| virtual void | removeFederateResignedCb (DtFederateRemovedCb callback, void *usr) |
| virtual void | addSocketQueueCb (DtSocketQueueCb callback, void *usr) |
| Register/Unregister a callback for socket queuing. | |
| virtual void | removeSocketQueueCb (DtSocketQueueCb callback, void *usr) |
| virtual void | addWaitingForForwarderConnectionsCb (DtWaitingForFwsCb callback, void *usr) |
| Register/Unregister a callback for entrance to the "waiting for
forwarder connections" state. | |
| virtual void | removeWaitingForForwarderConnectionsCb (DtWaitingForFwsCb callback, void *usr) |
| virtual void | addNotWaitingForForwarderConnectionsCb (DtNotWaitingForFwsCb callback, void *usr) |
| Register/Unregister a callback for exit from the "waiting for
forwarder connections" state. | |
| virtual void | removeNotWaitingForForwarderConnectionsCb (DtNotWaitingForFwsCb callback, void *usr) |
| virtual void | addExecConnectionEstablishedCb (DtExecAddChangeCb callback, void *usr) |
| virtual void | removeExecConnectionEstablishedCb (DtExecAddChangeCb callback, void *usr) |
| virtual void | addExecDisconnectedCb (DtExecRemovedChangeCb callback, void *usr) |
| virtual void | removeExecDisconnectedCb (DtExecRemovedChangeCb callback, void *usr) |
| virtual int | execConnected (const MAKRti::DtString &connName, unsigned int connID, const DtInetAddrAndPort &addr, const MAKRti::DtString &hostName, bool fullyCompliant) |
| virtual int | execDisconnected (const MAKRti::DtString &connName, unsigned int connID, const DtInetAddrAndPort &addr) |
| virtual int | socketQueueStatus (unsigned int connId, int connQueueStatus) |
| virtual void | forwarderNodeIsReady (unsigned long id) |
| virtual void | waitingForForwarderConnections (const DtConnAndNameMap &allNeededFws, const DtConnAndNameMap &stillNeededFws) |
| Specifies that this port is waiting for other forwarder connections. | |
| virtual void | notWaitingForForwarderConnections () |
| virtual void | setForwarderId (unsigned long id) |
| Set forwarder ID. | |
Static Public Member Functions | |
| static DtForwarderPort * | create (const DtRIDParameters *params, const DtBoost::shared_ptr< DtRouteMap > routes, const MAKRti::DtInetAddr &host, int forwarderPort, const MAKRti::DtInetAddr &additionalForwarderToConnectTo) |
| Creates an instance of a DtInOutForwarderPort. | |
| static void | setCreatorFunction (DtForwarderPortCreatorFcn creator) |
| Call this function to set an alternate creator function With this function, users can replace this DtInOutForwarderPort with their own derived class. | |
| static void | socketAdditionCb (DtTcpMsgSocket *sock, void *usr) |
| Callback for new connections. | |
| static void | socketEstablishedCb (DtTcpMsgSocket *sock, void *usr) |
| Callback for established connections. | |
| static void | socketRemovalCb (DtTcpMsgSocket *sock, void *usr) |
| Callback for dropped connections. | |
Protected Member Functions | |
| DtInOutForwarderPort (const DtRIDParameters *params, DtBoost::shared_ptr< DtRouteMap > routes, const MAKRti::DtInetAddr &host, int forwarderPort, const MAKRti::DtInetAddr &forwarderAddrToConnectTo) | |
| Base Ctor - called by default creator. | |
| virtual void | initializeConnections () |
| Initiates a connection to each adjacent node. | |
| virtual bool | connectToPeer (const DtInetAddrAndPort &addrToConnectTo) |
| Returns whether sock was ok() | |
| virtual int | processLostConnection (DtTcpMsgSocket *sock) |
| Handle lost connections. | |
| void | connectionCompleted (const DtInetAddrAndPort &addrAndPort, DtTcpMsgSocket *sock) |
| The new socket has been processed (either via routes files or dynamically). | |
| void | addSocketUsingRoutesFile (DtTcpMsgSocket *sock, const DtInetAddrAndPort &addrAndPort) |
| Add this socket to connection using routes file information. | |
| bool | addSocketDynamically (DtTcpMsgSocket *sock) |
| Add socket to connections dynamically. | |
| void | addConnection (const DtInetAddrAndPort &newConn, DtTcpMsgSocket *sock) |
| void | removeConnection (DtAddrToConnMap::iterator pos) |
| DtInOutForwarderPort () | |
| Default Ctor, Copy Ctor, Assignment - unimplemented. | |
| DtInOutForwarderPort (const DtInOutForwarderPort &orig) | |
| DtInOutForwarderPort & | operator= (const DtInOutForwarderPort &orig) |
| bool | removeFromPendingList (DtTcpMsgSocket *addr) |
| Remove a connection from the pending list (return true if found and removed) | |
| void | becomeRootForwarderNode () |
| Sets this forwarder node as the root. | |
Protected Member Functions inherited from DtForwarderPort | |
| DtForwarderPort (const DtRIDParameters *params, DtBoost::shared_ptr< DtRouteMap > routes, MAKRti::DtInetAddr host, int forwarderPort, MAKRti::DtInetAddr addnlConnection) | |
| virtual int | connectionEstablished (const MAKRti::DtString &connName, unsigned int connID, const DtInetAddrAndPort &addr) |
| Call the appropriate callbacks for New or Lost connections. | |
| virtual int | connectionLost (const MAKRti::DtString &connName, unsigned int connID, const DtInetAddrAndPort &addr) |
| virtual void | federateResigned (const MAKRti::DtString &connName, const MAKRti::DtString &connType, unsigned int connID, unsigned int fedHandle, const DtInetAddrAndPort &addr) |
| virtual void | federateJoined (const MAKRti::DtString &connName, const MAKRti::DtString &connType, const MAKRti::DtString &federationName, unsigned int connID, unsigned int fedHandle, const DtInetAddrAndPort &addr, const MAKRti::DtString &hostName, unsigned int processId, const MAKRti::DtString &processName, const MAKRti::DtString &commandArgs, DtHlaVersionId hlaVersion) |
Static Protected Attributes | |
| static DtForwarderPortCreatorFcn | theCreator = 0 |
Additional Inherited Members | |
Public Types inherited from DtForwarderPort | |
| typedef DtForwarderPort *(* | DtForwarderPortCreatorFcn )(const DtRIDParameters *, const DtBoost::shared_ptr< DtRouteMap >, const MAKRti::DtInetAddr &, int, const MAKRti::DtInetAddr &) |
| DtForwarderPort creator signature. | |
| typedef DtRouteMap::DtAddressPortList | DtAddressPortList |
| typedef DtRouteMap::DtAddressList | DtAddressList |
| typedef DtRouteMap::DtInterfaceAddrSet | DtInterfaceAddrSet |
| typedef std::vector < DtTcpMsgSocket * > | DtSocketList |
| typedef std::set < DtTcpMsgSocket * > | DtSocketSet |
| typedef std::pair < DtInetAddrAndPort, DtForwarderMsg > | DtAddressMsgPair |
| typedef std::pair < DtTcpMsgSocket *, DtForwarderMsg > | DtSockMsgPair |
| typedef std::map < DtInetAddrAndPort, DtTcpMsgSocket * > | DtAddrToConnMap |
| typedef std::map < DtInetAddrAndPort, MAKRti::DtString > | DtConnAndNameMap |
| typedef int(* | DtConnectionChangeCb )(const MAKRti::DtString &, unsigned int, const DtInetAddrAndPort &, void *) |
| typedef void(* | DtFederateAddedCb )(const MAKRti::DtString &, const MAKRti::DtString &, const MAKRti::DtString &, unsigned int, unsigned int, const DtInetAddrAndPort &, const MAKRti::DtString &, unsigned int, const MAKRti::DtString &, const MAKRti::DtString &, DtHlaVersionId, void *) |
| typedef void(* | DtFederateRemovedCb )(const MAKRti::DtString &, const MAKRti::DtString &, unsigned int, unsigned int, const DtInetAddrAndPort &, void *) |
| typedef void(* | DtPortReadyCb )(unsigned long, void *) |
| typedef int(* | DtExecAddChangeCb )(const MAKRti::DtString &, unsigned int, const DtInetAddrAndPort &, const MAKRti::DtString &, bool, void *) |
| typedef int(* | DtExecRemovedChangeCb )(const MAKRti::DtString &, unsigned int, const DtInetAddrAndPort &, void *) |
| typedef int(* | DtSocketQueueCb )(unsigned int, int, void *) |
| typedef void(* | DtWaitingForFwsCb )(const DtConnAndNameMap &, const DtConnAndNameMap &, void *) |
| typedef void(* | DtNotWaitingForFwsCb )(void *) |
| typedef std::vector< std::pair < DtConnectionChangeCb, void * > > | DtCallbackList |
| typedef std::vector< std::pair < DtFederateAddedCb, void * > > | DtFederateAddedCallbackList |
| typedef std::vector< std::pair < DtFederateRemovedCb, void * > > | DtFederateRemovedCallbackList |
| typedef std::vector< std::pair < DtPortReadyCb, void * > > | DtPortReadyCallbackList |
| typedef std::vector< std::pair < DtExecAddChangeCb, void * > > | DtExecAddedCallbackList |
| typedef std::vector< std::pair < DtExecRemovedChangeCb, void * > > | DtExecRemovedCallbackList |
| typedef std::vector< std::pair < DtSocketQueueCb, void * > > | DtSocketQueueCallbackList |
| typedef std::vector< std::pair < DtWaitingForFwsCb, void * > > | DtWaitingForFwsCallbackList |
| typedef std::vector< std::pair < DtNotWaitingForFwsCb, void * > > | DtNotWaitingForFwsCallbackList |
Static Protected Member Functions inherited from DtForwarderPort | |
| static int | connectionEstablished (const MAKRti::DtString &connName, unsigned int connID, const DtInetAddrAndPort &addr, void *usr) |
| static int | connectionLost (const MAKRti::DtString &connName, unsigned int connID, const DtInetAddrAndPort &addr, void *usr) |
| static void | federateJoined (const MAKRti::DtString &connName, const MAKRti::DtString &connType, const MAKRti::DtString &federationName, unsigned int connID, unsigned int fedHandle, const DtInetAddrAndPort &addr, const MAKRti::DtString &hostName, unsigned int processId, const MAKRti::DtString &processName, const MAKRti::DtString &commandArgs, DtHlaVersionId hlaVersion, void *usr) |
| static void | federateResigned (const MAKRti::DtString &connName, const MAKRti::DtString &connType, unsigned int connID, unsigned int fedHandle, const DtInetAddrAndPort &addr, void *usr) |
| static int | execConnected (const MAKRti::DtString &connName, unsigned int connID, const DtInetAddrAndPort &addr, const MAKRti::DtString &hostName, bool fullyCompliant, void *usr) |
| static int | execDisconnected (const MAKRti::DtString &connName, unsigned int connID, const DtInetAddrAndPort &addr, void *usr) |
| static int | socketQueueStatus (unsigned int connId, int connQueueStatus, void *usr) |
| static void | forwarderNodeIsReady (unsigned long id, void *usr) |
The DtForwarderPort is an Abstract Base Class which provides the interface to a collection of connections from which messages may be read and to which messages may be sent.
|
protected |
Base Ctor - called by default creator.
References DtTcpMsgSocketMgr::addSocketAdditionCallback(), DtPeerToPeerTcpSockMgr::addSocketEstablishedCallback(), DtTcpMsgSocketMgr::addSocketRemovalCallback(), DtDefaultInterfaceAddr(), DtGetLocalHostName(), DtIsIpOfLocalInterface(), DtPerformDNSLookup(), initializeConnections(), DtTcpMsgSocketMgr::isListening(), myClock, myConnectionMgr, myHostIf, DtForwarderPort::myOk, DtForwarderPort::myPortToUse, DtForwarderPort::myRoutes, DtRIDParameters::networkInterfaceAddr(), DtTcpMsgSocketMgr::openServerSocket(), DtRtiForwarderGroup::setConnectionManager(), DtTcpMsgSocketMgr::setRecvBufferSize(), DtTcpMsgSocketMgr::setSendBufferSize(), socketAdditionCb(), socketEstablishedCb(), DtRIDParameters::socketReceiveBufferSize, socketRemovalCb(), and DtRIDParameters::socketSendBufferSize.
|
virtual |
|
protected |
Default Ctor, Copy Ctor, Assignment - unimplemented.
Referenced by create().
|
protected |
|
virtual |
Abort any embryonic connections.
Implements DtForwarderPort.
References DtPeerToPeerTcpSockMgr::abortPendingConnections(), and myConnectionMgr.
|
protected |
References DtTcpMsgSocket::destination(), myConnections, myLastConnection, myNextConnection, and myUsedToListeningMap.
Referenced by connectionCompleted().
|
protected |
Add socket to connections dynamically.
Returns whether the socket was added to the routes map.
References DtTcpMsgSocket::destination(), and DtForwarderPort::myRoutes.
Referenced by socketAdditionCb(), and socketEstablishedCb().
|
protected |
Add this socket to connection using routes file information.
References connectionCompleted(), DtPeerToPeerTcpSockMgr::connectToPeer(), DtTcpMsgSocket::isConnected(), DtTcpMsgSocket::isConnectionInProgress(), DtForwarderPort::myAddress, myConnectionMgr, myConnections, myDiscardedRemoteSockets, myExpiredConnections, myHostIf, myInitiatedConnections, myPendingConnections, DtForwarderPort::myPortToUse, DtForwarderPort::myRoutes, myStillNeededConnections, and DtPeerToPeerTcpSockMgr::removeAndDeletePeerConnection().
Referenced by processPortMsg(), and socketEstablishedCb().
|
protected |
Sets this forwarder node as the root.
References myIsRootForwarderNode.
Referenced by initializeConnections(), and socketRemovalCb().
|
virtual |
Test for lost connections - returns true if targeted connection is active or if no target specified returns false if at least one drop detected.
Implements DtForwarderPort.
References DtForwarderPort::connectionLost(), interval, DtTcpMsgSocket::isConnected(), myClock, myConnectionMgr, myConnections, DtForwarderPort::myRoutes, mySktSendTimeMap, DtPeerToPeerTcpSockMgr::processConnections(), processInitializationMessages(), processLostConnection(), and DtTcpMsgSocket::testConnectionStatus().
|
virtual |
Clear the list of needed forwarder connections.
Implements DtForwarderPort.
References myNeededConnections, and myStillNeededConnections.
|
protected |
The new socket has been processed (either via routes files or dynamically).
Record established connection.
References addConnection(), DtForwarderPort::connectionEstablished(), connectionListToString(), DtTcpMsgSocket::enableBundling(), DtTcpMsgSocket::enableCompression(), myClock, DtForwarderPort::myRoutes, mySktSendTimeMap, removeFromPendingList(), and sendForwarderNodeInfoMsg().
Referenced by addSocketUsingRoutesFile(), and processForwarderNodeInfoMsg().
|
virtual |
Print the current connection list.
References DtForwarderPort::myAddress, and myConnections.
Referenced by connectionCompleted(), and socketRemovalCb().
|
virtual |
Get the list of all current connections to this port.
Implements DtForwarderPort.
References myConnections.
|
protectedvirtual |
Returns whether sock was ok()
References DtPeerToPeerTcpSockMgr::connectToPeer(), DtTcpMsgSocket::isConnected(), DtTcpMsgSocket::isConnectionInProgress(), myAddrToSockMap, myConnectionMgr, myHostIf, myInitiatedConnections, myPendingConnections, myPrePendingConnections, and DtForwarderPort::myRoutes.
Referenced by initializeConnections(), and processForwarderNodeInfoMsg().
|
static |
Creates an instance of a DtInOutForwarderPort.
References DtInOutForwarderPort(), and theCreator.
Referenced by setCreatorFunction().
|
inlinevirtual |
Implements DtForwarderPort.
|
virtual |
Flush any pending messages.
Reimplemented from DtForwarderPort.
References flushOnly(), myConnectionMgr, myDiscardedRemoteSockets, myExpiredConnections, and DtTcpMsgSocketMgr::removeAndDelete().
|
virtual |
Flush any pending messages. Does not do any socket disconnect processing.
References myConnections.
Referenced by flush(), and socketRemovalCb().
|
virtual |
Get the next initialization message off of a pending TCP socket.
References DtRIDParameters::distributedUdpForwarderMode, DtRtiMtdMcastAddr::get(), DtRtiMsg::kindString(), DtForwarderPort::myParams, and DtMsgSocket::recvMessageWithSrc().
Referenced by getInitializationMsgs(), and processInitializationMessages().
|
virtual |
Get the next initialization messages off of a set of pending TCP sockets.
References getInitializationMsg().
Referenced by processInitializationMessages().
|
virtual |
Get the next message to forward and the source connection.
Implements DtForwarderPort.
References DtRIDParameters::distributedUdpForwarderMode, DtRtiMtdTransportType::get(), DtRtiMtdMcastAddr::get(), DtTcpMsgSocket::isConnected(), DtRtiMsg::kindString(), myConnectionMgr, myConnections, myLastConnection, myLegacyUdpConnection, myNextConnection, DtForwarderPort::myParams, DtPeerToPeerTcpSockMgr::processConnections(), processInitializationMessages(), DtUdpMsgSocket::recvMessage(), and DtTcpMsgSocket::recvMessage().
|
protectedvirtual |
Initiates a connection to each adjacent node.
References becomeRootForwarderNode(), connectToPeer(), DtRIDParameters::distributedUdpForwarderMode, DtIsIpOfLocalInterface(), DtUdpMsgSocket::enableBundling(), DtUdpMsgSocket::enableCompression(), DtUdpMsgSocket::isOpen(), DtRIDParameters::isUdpCompressionEnabled, myLegacyUdpConnection, myNeededConnections, DtForwarderPort::myParams, DtForwarderPort::myRoutes, myStillNeededConnections, DtUdpMsgSocket::openSocket(), sendForwarderNodeInfoMsg(), DtMsgSocket::setRecvBufferSize(), DtRIDParameters::socketReceiveBufferSize, and DtRIDParameters::udpCompressionLevel.
Referenced by DtInOutForwarderPort().
|
virtual |
|
inlinevirtual |
Listen / drop multicast groups (not implemented in this class)
Implements DtForwarderPort.
|
protected |
|
virtual |
Return a count of aborted or failed connection attempts.
Implements DtForwarderPort.
References myConnectionMgr, and DtPeerToPeerTcpSockMgr::pendingConnectionsAborted().
|
virtual |
References DtForwarderPort::myAddress, myConnections, DtForwarderPort::myPortToUse, and DtForwarderPort::myRoutes.
Referenced by DtForwarderNode::connectionInformation().
|
virtual |
References connectionCompleted(), connectToPeer(), DtIsIpOfLocalInterface(), DtForwarderNodeInfoMsg::forwarderHostName(), DtForwarderNodeInfoMsg::forwarderName(), DtForwarderNodeInfoMsg::getInetAddr(), DtForwarderNodeInfoMsg::getNodeId(), DtForwarderNodeInfoMsg::getPort(), DtForwarderNodeInfoMsg::knownForwarderNodes(), myAddrToSockMap, myConnections, myIsRootForwarderNode, myPostPendingConnections, DtForwarderPort::myRoutes, DtForwarderNodeInfoMsg::nodeIdForRecipientToUse(), sendForwarderNodeInfoMsg(), and updateRoutes().
Referenced by processInitializationMessages().
|
virtual |
References DtForwarderNodeInfoMsgKind, DtForwarderPortMsgKind, DtMacAddrMsgKind, getInitializationMsg(), getInitializationMsgs(), myConnectionMgr, myLegacyUdpConnection, myPendingConnections, myPostPendingConnections, DtForwarderPort::myRoutes, myUnknownPortConnections, DtPeerToPeerTcpSockMgr::processConnections(), processForwarderNodeInfoMsg(), processMacAddrMsg(), and processPortMsg().
Referenced by checkConnectionStatus(), getNextMsg(), and updateRoutes().
|
protectedvirtual |
Handle lost connections.
References myConnectionMgr, and DtTcpMsgSocketMgr::removeAndDelete().
Referenced by checkConnectionStatus(), sendForwarderNodeInfoMsg(), sendToAllReliable(), and sendToListReliable().
|
virtual |
References DtFirstHostMACAddr(), DtMacAddrMsg::macAddr(), myExpiredConnections, myInitiatedConnections, myMacAddrsOfConnectedForwardersMap, myPendingConnections, myPostPendingConnections, removeFromPendingList(), DtMacAddrMsg::senderConnecting(), and sendForwarderNodeInfoMsg().
Referenced by processInitializationMessages().
|
virtual |
Process a message indicating the listening port of the forwarder on the other end of a socket.
References DtForwarderPortMsg::address(), addSocketUsingRoutesFile(), DtForwarderPortMsg::connectedPort(), DtTcpMsgSocket::destination(), DtForwarderPortMsg::listeningPort(), myAddrToSockMap, DtForwarderPort::myRoutes, myUnknownPortConnections, and myUsedToListeningMap.
Referenced by processInitializationMessages().
|
protected |
References myConnections, myLastConnection, and myNextConnection.
Referenced by socketRemovalCb().
|
protected |
Remove a connection from the pending list (return true if found and removed)
References myPendingConnections, myPostPendingConnections, myPrePendingConnections, and myUnknownPortConnections.
Referenced by connectionCompleted(), processMacAddrMsg(), and socketRemovalCb().
|
virtual |
Add this port's current select() notification set to the passed set.
Implements DtForwarderPort.
References myConnections.
|
virtual |
Check transport metadata and send message to appropriate destinations.
Implements DtForwarderPort.
| void DtInOutForwarderPort::sendForwarderNodeInfoMsg | ( | DtTcpMsgSocket * | sock | ) |
References DtTcpMsgSocket::destination(), DtGetLocalHostName(), false, DtTcpMsgSocket::flush(), DtTcpMsgSocket::isConnected(), DtForwarderPort::myAddress, DtForwarderNodeInfo::myIpAddr, myIsRootForwarderNode, DtForwarderPort::myPortToUse, DtForwarderPort::myRoutes, processLostConnection(), DtTcpMsgSocket::sendMessage(), DtForwarderNodeInfoMsg::setForwarderHostName(), DtForwarderNodeInfoMsg::setForwarderName(), DtForwarderNodeInfoMsg::setInetAddr(), DtForwarderNodeInfoMsg::setKnownForwarderNodes(), DtForwarderNodeInfoMsg::setNodeId(), DtForwarderNodeInfoMsg::setNodeIdForRecipientToUse(), and DtForwarderNodeInfoMsg::setPort().
| void DtInOutForwarderPort::sendForwarderNodeInfoMsg | ( | ) |
References myConnections, and myPostPendingConnections.
Referenced by connectionCompleted(), initializeConnections(), processForwarderNodeInfoMsg(), processMacAddrMsg(), socketAdditionCb(), and socketRemovalCb().
|
virtual |
Send a populated DtMacAddrMsg to the specified socket.
References DtTcpMsgSocket::destination(), DtFirstHostMACAddr(), false, DtTcpMsgSocket::flush(), myAddrToSockMap, myIsReady, DtForwarderPort::myRoutes, DtTcpMsgSocket::sendMessage(), DtMacAddrMsg::setMacAddr(), and DtMacAddrMsg::setSenderConnecting().
Referenced by socketAdditionCb().
|
virtual |
Send a message indicating our local socket port for the given socket.
References DtTcpMsgSocket::flush(), DtMsgSocket::localEndpoint(), DtForwarderPort::myRoutes, DtTcpMsgSocket::sendMessage(), DtForwarderPortMsg::setAddress(), DtForwarderPortMsg::setConnectedPort(), and DtForwarderPortMsg::setListeningPort().
Referenced by socketAdditionCb(), and socketEstablishedCb().
|
virtual |
Send a message to all available destinations.
Implements DtForwarderPort.
References DtTcpMsgSocket::bundleSize(), DtTcpMsgSocket::flush(), DtTcpMsgSocket::isConnected(), DtRtiMsg::kindString(), DtForwarderPort::DtForwarderMsg::length, DtForwarderPort::DtForwarderMsg::msg, myClock, myConnections, mySktSendTimeMap, processLostConnection(), and DtTcpMsgSocket::sendMessage().
|
virtual |
Send a message to the specified list of destinations excluding the list of filtered destinations.
Implements DtForwarderPort.
References DtTcpMsgSocket::bundleSize(), DtTcpMsgSocket::flush(), DtTcpMsgSocket::isConnected(), DtRtiMsg::kindString(), DtForwarderPort::DtForwarderMsg::length, DtForwarderPort::DtForwarderMsg::msg, myClock, myConnections, mySktSendTimeMap, processLostConnection(), and DtTcpMsgSocket::sendMessage().
|
static |
Call this function to set an alternate creator function With this function, users can replace this DtInOutForwarderPort with their own derived class.
References create(), DtBindCreator(), and theCreator.
|
static |
Callback for new connections.
Referenced by DtInOutForwarderPort(), and ~DtInOutForwarderPort().
|
virtual |
References addSocketDynamically(), DtTcpMsgSocket::destination(), DtTcpMsgSocket::isConnected(), myAddrToSockMap, myConnectionMgr, myExpiredConnections, myInitiatedConnections, myPostPendingConnections, myPrePendingConnections, DtForwarderPort::myRoutes, myUnknownPortConnections, DtPeerToPeerTcpSockMgr::removeAndDeletePeerConnection(), sendForwarderNodeInfoMsg(), sendMacAddrMsg(), sendPortMsg(), and DtTcpMsgSocket::testConnectionStatus().
|
static |
Callback for established connections.
Referenced by DtInOutForwarderPort(), and ~DtInOutForwarderPort().
|
virtual |
References addSocketDynamically(), addSocketUsingRoutesFile(), DtTcpMsgSocket::destination(), myAddrToSockMap, myConnectionMgr, myExpiredConnections, myInitiatedConnections, myPendingConnections, myPrePendingConnections, DtForwarderPort::myRoutes, DtPeerToPeerTcpSockMgr::removeAndDeletePeerConnection(), and sendPortMsg().
|
static |
Callback for dropped connections.
Referenced by DtInOutForwarderPort(), and ~DtInOutForwarderPort().
|
virtual |
References becomeRootForwarderNode(), connectionListToString(), DtForwarderPort::connectionLost(), DtTcpMsgSocket::destination(), flushOnly(), DtForwarderPort::myAdditionalAddrToConnectTo, myAddrToSockMap, myConnections, myDiscardedRemoteSockets, myExpiredConnections, myInitiatedConnections, myIsReady, myIsRootForwarderNode, myPendingConnections, myPostPendingConnections, myPrePendingConnections, DtForwarderPort::myRoutes, myUsedToListeningMap, removeConnection(), removeFromPendingList(), and sendForwarderNodeInfoMsg().
|
inlinevirtual |
Update locally connected federate connection ID (LAN-port-only)
Implements DtForwarderPort.
|
virtual |
Handle changes to the Routing map.
Implements DtForwarderPort.
References DtForwarderPort::forwarderNodeIsReady(), myConnectionMgr, myIsReady, myIsRootForwarderNode, myNeededConnections, myPendingConnections, myPostPendingConnections, myPrePendingConnections, DtForwarderPort::myRoutes, myStillNeededConnections, DtForwarderPort::notWaitingForForwarderConnections(), DtPeerToPeerTcpSockMgr::processConnections(), processInitializationMessages(), and DtForwarderPort::waitingForForwarderConnections().
Referenced by processForwarderNodeInfoMsg().
|
protected |
|
protected |
Referenced by checkConnectionStatus(), connectionCompleted(), DtInOutForwarderPort(), sendToAllReliable(), and sendToListReliable().
|
protected |
|
protected |
Referenced by abortPendingConnections(), addSocketUsingRoutesFile(), checkConnectionStatus(), connectToPeer(), DtInOutForwarderPort(), flush(), getNextMsg(), pendingConnectionsAborted(), processInitializationMessages(), processLostConnection(), socketAdditionCb(), socketEstablishedCb(), updateRoutes(), and ~DtInOutForwarderPort().
|
protected |
Referenced by addConnection(), addSocketUsingRoutesFile(), checkConnectionStatus(), connectionListToString(), connections(), flushOnly(), getNextMsg(), populateConnectionInformation(), processForwarderNodeInfoMsg(), removeConnection(), selectParams(), sendForwarderNodeInfoMsg(), sendToAllReliable(), sendToListReliable(), socketRemovalCb(), and ~DtInOutForwarderPort().
|
protected |
Referenced by addSocketUsingRoutesFile(), flush(), and socketRemovalCb().
|
protected |
Referenced by addSocketUsingRoutesFile(), flush(), processMacAddrMsg(), socketAdditionCb(), socketEstablishedCb(), and socketRemovalCb().
|
protected |
The interface used for connections with other forwarders.
Referenced by addSocketUsingRoutesFile(), connectToPeer(), and DtInOutForwarderPort().
|
protected |
Referenced by addSocketUsingRoutesFile(), connectToPeer(), processMacAddrMsg(), socketAdditionCb(), socketEstablishedCb(), and socketRemovalCb().
|
protected |
Referenced by isReady(), sendMacAddrMsg(), socketRemovalCb(), and updateRoutes().
|
protected |
|
protected |
Referenced by addConnection(), getNextMsg(), and removeConnection().
|
protected |
Referenced by getNextMsg(), initializeConnections(), and processInitializationMessages().
|
protected |
Referenced by processMacAddrMsg().
|
protected |
Connections needed before the forwarding network is complete.
Referenced by clearNeededConnections(), initializeConnections(), and updateRoutes().
|
protected |
Referenced by addConnection(), getNextMsg(), and removeConnection().
|
protected |
Connections which are in process.
Referenced by addSocketUsingRoutesFile(), connectToPeer(), processInitializationMessages(), processMacAddrMsg(), removeFromPendingList(), socketEstablishedCb(), socketRemovalCb(), and updateRoutes().
|
protected |
|
protected |
Referenced by connectToPeer(), removeFromPendingList(), socketAdditionCb(), socketEstablishedCb(), socketRemovalCb(), and updateRoutes().
|
mutableprotected |
Referenced by checkConnectionStatus(), connectionCompleted(), sendToAllReliable(), and sendToListReliable().
|
protected |
Connections still needed before the forwarding network is complete.
Referenced by addSocketUsingRoutesFile(), clearNeededConnections(), initializeConnections(), and updateRoutes().
|
protected |
Referenced by processInitializationMessages(), processPortMsg(), removeFromPendingList(), and socketAdditionCb().
|
protected |
Map of actual address/port pairs to listening address/port pairs, which are also used for identification.
Referenced by addConnection(), processPortMsg(), and socketRemovalCb().
|
staticprotected |
Referenced by create(), and setCreatorFunction().