Public Types |
| 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 |
Public Member Functions |
| virtual | ~DtForwarderPort () |
| virtual bool | isOk () const |
| | Is the Port still alive?
|
| virtual bool | isReady () const =0 |
| | Is the Port fully usable and available?
|
| virtual DtAddressMsgPair | getNextMsg ()=0 |
| | Get the next message to forward and the source connection.
|
| virtual void | sendByTransport (const DtForwarderMsg &msg) const =0 |
| | Check transport metadata and send message to appropriate socket(s)
|
| virtual void | sendToAllReliable (const DtForwarderMsg &msg) const =0 |
| | Send a message to all available destinations.
|
| virtual void | sendToListReliable (const DtForwarderMsg &msg, const DtRouteMap::DtAddressPortList &destinations) const =0 |
| | Send a message to the specified list of destinations excluding the list of filtered destinations.
|
| virtual bool | flush () |
| | Flush any unsent/buffered packets; return true if flush sent data.
|
| virtual void | selectParams (MAKRti::DtSelectParamWithWrite &selectParams)=0 |
| | Add this port's current select() notification set to the passed set.
|
| virtual void | updateRoutes ()=0 |
| | Handle changes to the Routing map.
|
| virtual int | checkConnectionStatus (const DtInetAddrAndPort *target=0)=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 ()=0 |
| | Clear the list of connections that this forwarder needs to establish.
|
| virtual unsigned int | abortPendingConnections ()=0 |
| | Abort any embryonic connections.
|
| virtual unsigned int | pendingConnectionsAborted ()=0 |
| | Return count of aborted connections.
|
| virtual DtAddressPortList | connections () const =0 |
| | Get the list of all current connections to this port.
|
| virtual bool | updateFederateConnectionId (unsigned long orig, unsigned long final)=0 |
| | Update locally connected federate connection ID (LAN-port-only)
|
| virtual void | setForwarderId (unsigned long id) |
| | Set forwarder ID.
|
|
| virtual void | listenToMulticastGroup (const MAKRti::DtInetAddr &mcastAddr)=0 |
| | Listen / drop multicast groups (LAN-port-only)
|
| virtual void | dropMulticastGroup (const MAKRti::DtInetAddr &mcastAddr)=0 |
| | Listen / drop multicast groups (LAN-port-only)
|
|
| 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 |
| | 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.
|
Static Protected Member Functions |
| 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.