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 void | processConnectionMessages (const DtAddressMsgPair &msgPair) |
| 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 bool | fixConnection (DtTcpMsgSocket *sock) |
| 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 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 DtString | connectionListToString (const char *separator=" : ") const |
| | Print the current connection list.
|
| virtual bool | populateConnectionInformation (unsigned int &numForwarderToForwarderConns, std::vector< DtString > &forwarderIdentifiers, std::vector< DtString > &forwarderConnectionHostNames, std::vector< DtInetAddrAndPort > &forwarderConnectionAddrs) const |
| virtual bool | addPeerConnection (const DtString &host, const MAKRti::DtInetAddr &ipAddress, int port, bool distributeConnection) |
| | Add a peer connection.
|
| virtual void | processMacAddrMsg (const DtForwarderPort::DtAddressMsgPair &msg) |
| | Process a message giving the populated DtMacAddrMsg from a forwarder.
|
| virtual void | processPortMsg (const DtForwarderPort::DtAddressMsgPair &msgPair) |
| | Process a message indicating the listening port of the forwarder on the other end of a socket.
|
| virtual void | processForwarderNodeInfoMsg (const DtForwarderPort::DtAddressMsgPair &msg) |
| | Process a message giving the connection information from a forwarder.
|
| virtual void | processConnectToForwarderMsg (const DtForwarderPort::DtAddressMsgPair &msg) |
| | Process a message to connect to another forwarder.
|
|
| virtual void | listenToMulticastGroup (const MAKRti::DtInetAddr &mcastAddr) |
| | Listen / drop multicast groups (not implemented in this class)
|
| virtual void | dropMulticastGroup (const MAKRti::DtInetAddr &mcastAddr) |
| | Listen / drop multicast groups (not implemented in this class)
|
| virtual | ~DtForwarderPort () |
| virtual bool | isOk () const |
| | Is the Port still alive?
|
| virtual void | setForwarderId (unsigned long id) |
| | Set forwarder ID.
|
| virtual void | addConnectionEstablishedCb (DtConnectionAddRemoveCb callback, void *usr) |
| | Register/Unregister callback for addition/removal/change of connections.
|
| virtual void | removeConnectionEstablishedCb (DtConnectionAddRemoveCb callback, void *usr) |
| | Register/Unregister callback for addition/removal/change of connections.
|
| virtual void | addConnectionLostCb (DtConnectionAddRemoveCb callback, void *usr) |
| | Register/Unregister callback for addition/removal/change of connections.
|
| virtual void | removeConnectionLostCb (DtConnectionAddRemoveCb callback, void *usr) |
| | Register/Unregister callback for addition/removal/change of connections.
|
| virtual void | addConnectionChangedCb (DtConnectionChangeCb callback, void *usr) |
| | Register/Unregister callback for addition/removal/change of connections.
|
| virtual void | removeConnectionChangedCb (DtConnectionChangeCb callback, void *usr) |
| | Register/Unregister callback for addition/removal/change of connections.
|
| virtual void | addReconnectBegun (DtConnectionReconnectBegunCb callback, void *usr) |
| | Register/Unregister callback for addition/removal/change of connections.
|
| virtual void | removeReconnectBegun (DtConnectionReconnectBegunCb callback, void *usr) |
| | Register/Unregister callback for addition/removal/change of connections.
|
| virtual void | addReconnectComplete (DtConnectionReconnectCompleteCb callback, void *usr) |
| | Register/Unregister callback for addition/removal/change of connections.
|
| virtual void | removeReconnectComplete (DtConnectionReconnectCompleteCb callback, void *usr) |
| | Register/Unregister callback for addition/removal/change of connections.
|
| virtual void | addForwarderPortReadyCb (DtPortReadyCb callback, void *usr) |
| | Register/Unregister callback for event - forwarder port becomes ready.
|
| virtual void | removeForwarderPortReadyCb (DtPortReadyCb callback, void *usr) |
| | Register/Unregister callback for event - forwarder port becomes ready.
|
| virtual void | addFederateJoinedCb (DtFederateAddedCb callback, void *usr) |
| | Register/Unregister callback for event - federate join/resign.
|
| virtual void | removeFederateJoinedCb (DtFederateAddedCb callback, void *usr) |
| | Register/Unregister callback for event - federate join/resign.
|
| virtual void | addFederateResignedCb (DtFederateRemovedCb callback, void *usr) |
| | Register/Unregister callback for event - federate join/resign.
|
| virtual void | removeFederateResignedCb (DtFederateRemovedCb callback, void *usr) |
| | Register/Unregister callback for event - federate join/resign.
|
| virtual void | addSocketQueueCb (DtSocketQueueCb callback, void *usr) |
| | Register/Unregister callback for event - socket queue status changes.
|
| virtual void | removeSocketQueueCb (DtSocketQueueCb callback, void *usr) |
| | Register/Unregister callback for event - socket queue status changes.
|
| virtual void | addWaitingForForwarderConnectionsCb (DtWaitingForFwsCb callback, void *usr) |
| | Register/Unregister callback for event - entrance/exit the "waiting for
forwarder connections" state.
|
| virtual void | removeWaitingForForwarderConnectionsCb (DtWaitingForFwsCb callback, void *usr) |
| | Register/Unregister callback for event - entrance/exit the "waiting for
forwarder connections" state.
|
| virtual void | addNotWaitingForForwarderConnectionsCb (DtNotWaitingForFwsCb callback, void *usr) |
| | Register/Unregister callback for event - entrance/exit the "waiting for
forwarder connections" state.
|
| virtual void | removeNotWaitingForForwarderConnectionsCb (DtNotWaitingForFwsCb callback, void *usr) |
| | Register/Unregister callback for event - entrance/exit the "waiting for
forwarder connections" state.
|
| virtual void | addExecConnectionEstablishedCb (DtExecAddChangeCb callback, void *usr) |
| | Register/Unregister callback for event - exec connected/disconnected.
|
| virtual void | removeExecConnectionEstablishedCb (DtExecAddChangeCb callback, void *usr) |
| | Register/Unregister callback for event - exec connected/disconnected.
|
| virtual void | addExecDisconnectedCb (DtExecRemovedChangeCb callback, void *usr) |
| | Register/Unregister callback for event - exec connected/disconnected.
|
| virtual void | removeExecDisconnectedCb (DtExecRemovedChangeCb callback, void *usr) |
| | Register/Unregister callback for event - exec connected/disconnected.
|
| virtual int | execConnected (const MAKRti::DtString &connName, unsigned int connID, const DtInetAddrAndPort &addr, const MAKRti::DtString &hostName, bool fullyCompliant) |
| | Called when the exec connects/disconnects.
|
| virtual int | execDisconnected (const MAKRti::DtString &connName, unsigned int connID, const DtInetAddrAndPort &addr) |
| | Called when the exec connects/disconnects.
|
Protected Member Functions |
| | DtInOutForwarderPort (const DtRIDParameters *params, DtBoost::shared_ptr< DtRouteMap > routes, const MAKRti::DtInetAddr &host, int forwarderPort, const MAKRti::DtInetEndpoint &forwarderAddrToConnectTo) |
| | Base Ctor - called by default creator.
|
| virtual void | initializeConnections () |
| | Initiates a connection to each adjacent node.
|
| 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 | sendForwarderNodeInfoMsgToConnections () |
| | Send the forwarder node info message to all the connections (and post pending)
|
| virtual void | sendForwarderNodeInfoMsg (DtTcpMsgSocket *sock, unsigned long nodeIdToUse=0) |
| | Send the forwarder node info message to the given socket.
|
| virtual void | sendConnectToForwarderMsg (const DtInetAddrAndPort &fwDestination, const DtString &fwName, const DtString &fwHostName) |
| | Send a message to connect to another forwarder to all peer forwarders.
|
| virtual bool | connectToPeer (const DtInetAddrAndPort &addrToConnectTo) |
| | Returns whether sock was ok()
|
| virtual int | processLostConnection (DtTcpMsgSocket *sock) |
| | Handle lost connections.
|
| virtual void | connectionCompleted (const DtInetAddrAndPort &addrAndPort, DtTcpMsgSocket *sock) |
| | The new socket has been processed (either via routes files or dynamically).
|
| virtual void | connectionCompleted (const DtString &nodeName, const DtString &hostName, unsigned long nodeId, const DtInetAddrAndPort &addrAndPort, DtTcpMsgSocket *sock) |
| | The new socket has been processed (either via routes files or dynamically).
|
| virtual void | addSocketUsingRoutesFile (DtTcpMsgSocket *sock, const DtInetAddrAndPort &addrAndPort) |
| | Add this socket to connection using routes file information.
|
| virtual void | addInitiatedSocketDynamically (DtTcpMsgSocket *sock, const DtInetAddrAndPort &addrAndPort) |
| | Add socket we initiated to connections dynamically.
|
| virtual void | addReceivedSocketDynamically (DtTcpMsgSocket *sock, const DtInetAddrAndPort &addrAndPort) |
| | Add socket we received to connections dynamically.
|
| virtual DtTcpMsgSocket * | socketFromListeningAddr (const DtInetAddrAndPort &addrAndPort) |
| virtual bool | removeFromPendingList (DtTcpMsgSocket *addr) |
| | Remove a connection from the pending list (return true if found and removed)
|
| virtual void | becomeRootForwarderNode () |
| | Sets this forwarder node as the root.
|
| virtual void | distributeConnections (const DtInetAddrAndPort &fwAddrAndPort, const DtString &fwName, const DtString &fwHostName, const std::set< DtForwarderNodeInfo > &fwConnPeers) |
| | Distribute the given connection and its peers to this forwarder's peers.
|
| | DtInOutForwarderPort () |
| | Default Ctor, Copy Ctor, Assignment - unimplemented.
|
| | DtInOutForwarderPort (const DtInOutForwarderPort &orig) |
| DtInOutForwarderPort & | operator= (const DtInOutForwarderPort &orig) |
|
| virtual void | addConnection (const DtInetAddrAndPort &newConn, DtTcpMsgSocket *sock) |
| virtual void | removeConnection (DtAddrToConnMap::iterator pos) |
| | DtForwarderPort (const DtRIDParameters *params, DtBoost::shared_ptr< DtRouteMap > routes, MAKRti::DtInetAddr host, int forwarderPort, MAKRti::DtInetEndpoint addnlConnection) |
| virtual void | forwarderNodeIsReady (unsigned long id) |
| | Called when the forwarder port is known and node becomes ready.
|
| virtual int | socketQueueStatus (unsigned int connId, int connQueueStatus) |
| | Called when the socket queue status changes.
|
| virtual void | waitingForForwarderConnections (const DtConnAndNameMap &allNeededFws, const DtConnAndNameMap &stillNeededFws) |
| | Specifies that this port is waiting for other forwarder connections.
|
| virtual void | notWaitingForForwarderConnections () |
| | Called when exiting from the waiting for forwarder connections state.
|
| virtual int | connectionEstablished (const MAKRti::DtString &connName, const MAKRti::DtString &hostName, unsigned int connID, const std::pair< DtInetAddrAndPort, DtInetAddrAndPort > &addr) |
| | Call when connection is added/removed/changed Invokes callbacks registered for this event.
|
| virtual int | connectionLost (const MAKRti::DtString &connName, const MAKRti::DtString &hostName, unsigned int connID, const std::pair< DtInetAddrAndPort, DtInetAddrAndPort > &addr) |
| | Call when connection is added/removed/changed Invokes callbacks registered for this event.
|
| virtual int | connectionChanged (const MAKRti::DtString &connName, const MAKRti::DtString &hostName, unsigned int oldConnID, unsigned int newConnID, const DtInetAddrAndPort &addr) |
| | Call when connection is added/removed/changed Invokes callbacks registered for this event.
|
| int | reconnectBegun (const MAKRti::DtString &connName, const MAKRti::DtString &hostName, unsigned int connID, const DtInetAddrAndPort &addr) |
| | Call when connection is added/removed/changed Invokes callbacks registered for this event.
|
| int | reconnectComplete (const MAKRti::DtString &connName, const MAKRti::DtString &hostName, unsigned int connID, const DtInetAddrAndPort &addr, bool wasSuccessful) |
| | Call when connection is added/removed/changed Invokes callbacks registered for this event.
|
| virtual void | federateResigned (const MAKRti::DtString &connName, const MAKRti::DtString &connType, unsigned int connID, unsigned int fedHandle, const DtInetAddrAndPort &addr) |
| | Called when the federate joins/resigns.
|
| 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) |
| | Called when the federate joins/resigns.
|
Additional Inherited Members |
| typedef DtForwarderPort *(* | DtForwarderPortCreatorFcn )(const DtRIDParameters *, const DtBoost::shared_ptr< DtRouteMap >, const MAKRti::DtInetAddr &, int, const MAKRti::DtInetEndpoint &) |
| | 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(* | DtConnectionAddRemoveCb )(const MAKRti::DtString &, const MAKRti::DtString &, unsigned int, const std::pair< DtInetAddrAndPort, DtInetAddrAndPort > &, void *) |
| typedef int(* | DtConnectionReconnectBegunCb )(const MAKRti::DtString &, const MAKRti::DtString &, unsigned int, const DtInetAddrAndPort &, void *) |
| typedef int(* | DtConnectionReconnectCompleteCb )(const MAKRti::DtString &, const MAKRti::DtString &, unsigned int, const DtInetAddrAndPort &, bool, void *) |
| typedef int(* | DtConnectionChangeCb )(const MAKRti::DtString &, const MAKRti::DtString &, unsigned int, 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
< DtConnectionAddRemoveCb,
void * > > | DtConnectionAddRemoveCallbackList |
typedef std::vector< std::pair
< DtConnectionReconnectBegunCb,
void * > > | DtConnectionReconnectBegunCallbackList |
typedef std::vector< std::pair
< DtConnectionReconnectCompleteCb,
void * > > | DtConnectionReconnectCompleteCallbackList |
typedef std::vector< std::pair
< DtConnectionChangeCb, void * > > | DtConnectionChangeCallbackList |
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 int | socketQueueStatus (unsigned int connId, int connQueueStatus, void *usr) |
| | Callback function registered to be called when socket queue status changes.
|
| static void | forwarderNodeIsReady (unsigned long id, void *usr) |
| | Callback function registered to be called when forwarder node is ready (port is known)
|
| static int | connectionEstablished (const MAKRti::DtString &connName, const MAKRti::DtString &hostName, unsigned int connID, const std::pair< DtInetAddrAndPort, DtInetAddrAndPort > &addr, void *usr) |
| | Callback function registered to be called when connection is added/removed/changed.
|
| static int | connectionLost (const MAKRti::DtString &connName, const MAKRti::DtString &hostName, unsigned int connID, const std::pair< DtInetAddrAndPort, DtInetAddrAndPort > &addr, void *usr) |
| | Callback function registered to be called when connection is added/removed/changed.
|
| static int | connectionChanged (const MAKRti::DtString &connName, const MAKRti::DtString &hostName, unsigned int oldConnID, unsigned int newConnID, const DtInetAddrAndPort &addr, void *usr) |
| | Callback function registered to be called when connection is added/removed/changed.
|
| 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) |
| | Callback function registered to be called when federate joins/resigns.
|
| static void | federateResigned (const MAKRti::DtString &connName, const MAKRti::DtString &connType, unsigned int connID, unsigned int fedHandle, const DtInetAddrAndPort &addr, void *usr) |
| | Callback function registered to be called when federate joins/resigns.
|
| static int | execConnected (const MAKRti::DtString &connName, unsigned int connID, const DtInetAddrAndPort &addr, const MAKRti::DtString &hostName, bool fullyCompliant, void *usr) |
| | Callback function registered to be called when exec connects/disconnects.
|
| static int | execDisconnected (const MAKRti::DtString &connName, unsigned int connID, const DtInetAddrAndPort &addr, void *usr) |
| | Callback function registered to be called when exec connects/disconnects.
|
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.