![]() |
MAK RTIspy API Documentation for HLA 1.3
|
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 DtLanForwarderPort:
Collaboration diagram for DtLanForwarderPort:Public Member Functions | |
| virtual | ~DtLanForwarderPort () |
| 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 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 via reliable transport to all available destinations. | |
| virtual void | sendToListReliable (const DtForwarderMsg &msg, const DtAddressPortList &destinations) const |
| Send a message via reliable transport to the specified list of destinations. | |
| virtual bool | flush () |
| Flush any unsent/buffered packets; return true if flush sent data. | |
| virtual void | setForwarderId (unsigned long id) |
| Set forwarder ID. | |
| 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 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 connections that this forwarder needs to establish. | |
| virtual unsigned int | abortPendingConnections () |
| Abort any embryonic connections. | |
| unsigned int | pendingConnectionsAborted () |
| Return count of aborted connections. | |
| 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 (LAN-port-only) | |
| 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 const DtFederateTrackingFilter * | fedTrackingFilter () const |
| return federateTrackingFilter | |
| virtual bool | populateConnectionInformation (unsigned int &numForwarderClientConns, unsigned int &numForwarderExecConns, std::vector< MAKRti::DtString > &clientConnectionHostNames, std::vector< MAKRti::DtInetAddr > &clientConnectionAddrs) const |
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 () |
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 &forwardertoConnectTo) |
| Creates an instance of a DtLanForwarderPort. | |
| static void | setCreatorFunction (DtForwarderPortCreatorFcn creator) |
| Call this function to set an alternate creator function With this function, users can replace this DtLanForwarderPort with their own derived class. | |
Protected Member Functions | |
| DtLanForwarderPort (const DtRIDParameters *params, DtBoost::shared_ptr< DtRouteMap > routes, const MAKRti::DtInetAddr &host, int forwarderPort, const MAKRti::DtInetAddr &forwardertoConnectTo) | |
| Base Ctor - called by default creator. | |
| DtLanForwarderPort () | |
| Default Ctor, Copy Ctor, Assignment - unimplemented. | |
| DtLanForwarderPort (const DtLanForwarderPort &orig) | |
| DtLanForwarderPort & | operator= (const DtLanForwarderPort &orig) |
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) |
Protected Attributes | |
| const DtRIDParameters * | myParams |
| DtExtendedRtiMsgForwarder * | myForwarder |
| bool | myIsReady |
Protected Attributes inherited from DtForwarderPort | |
| const DtRIDParameters * | myParams |
| DtBoost::shared_ptr< DtRouteMap > | myRoutes |
| const MAKRti::DtInetAddr | myAddress |
| bool | myOk |
| int | myPortToUse |
| MAKRti::DtInetAddr | myAdditionalAddrToConnectTo |
| DtCallbackList | myConnectionEstablishedCbs |
| DtCallbackList | myConnectionLostCbs |
| DtFederateAddedCallbackList | myFederateJoinedCbs |
| DtFederateRemovedCallbackList | myFederateResignedCbs |
| DtPortReadyCallbackList | myPortReadyCbs |
| DtExecAddedCallbackList | myExecConnectedCbs |
| DtExecRemovedCallbackList | myExecDisconnectedCbs |
| DtSocketQueueCallbackList | mySocketQueueCbs |
| DtWaitingForFwsCallbackList | myWaitingForFwsCbs |
| DtNotWaitingForFwsCallbackList | myNotWaitingForFwsCbs |
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 DtExtendedRtiMsgForwarder::addExecConnectionEstablishedCb(), DtExtendedRtiMsgForwarder::addExecConnectionLostCb(), DtExtendedRtiMsgForwarder::addFederateJoinedCb(), DtExtendedRtiMsgForwarder::addFederateResignedCb(), DtExtendedRtiMsgForwarder::addSocketAdditionCb(), DtExtendedRtiMsgForwarder::addSocketRemovalCb(), DtExtendedRtiMsgForwarder::applyFilters(), DtForwarderPort::connectionEstablished(), DtForwarderPort::connectionLost(), DtForwarderPort::execConnected(), DtForwarderPort::execDisconnected(), DtForwarderPort::federateJoined(), DtForwarderPort::federateResigned(), myForwarder, myIsReady, and DtForwarderPort::myRoutes.
|
virtual |
|
protected |
Default Ctor, Copy Ctor, Assignment - unimplemented.
Referenced by create().
|
protected |
|
virtual |
Abort any embryonic connections.
Since LAN port does not initiate connections it cannot abort them either, so this method always returns 0
Implements DtForwarderPort.
|
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 myForwarder, and DtRtiMsgForwarder::shouldStop().
|
virtual |
Clear the list of connections that this forwarder needs to establish.
Since the LAN port does not try to establish connections, this method does nothing.
Implements DtForwarderPort.
|
virtual |
Get the list of all current connections to this port.
Implements DtForwarderPort.
References DtExtendedRtiMsgForwarder::connections(), and myForwarder.
Referenced by populateConnectionInformation().
|
static |
Creates an instance of a DtLanForwarderPort.
References DtLanForwarderPort(), and theCreator.
Referenced by setCreatorFunction().
|
virtual |
Implements DtForwarderPort.
References DtExtendedRtiMsgForwarder::dropMulticastGroup(), and myForwarder.
|
virtual |
return federateTrackingFilter
References DtExtendedRtiMsgForwarder::fedHandleTrackingFilter(), and myForwarder.
|
inlinevirtual |
Flush any unsent/buffered packets; return true if flush sent data.
Reimplemented from DtForwarderPort.
References DtExtendedRtiMsgForwarder::flush(), myForwarder, and DtRtiMsgForwarder::updateTcpForwarderQueuedSockets().
|
virtual |
Get the next message to forward and the source connection.
Implements DtForwarderPort.
References DtExtendedRtiMsgForwarder::getNextMsg(), DtRtiMsg::kindToString(), DtForwarderPort::myAddress, myForwarder, and DtForwarderPort::myPortToUse.
|
virtual |
|
virtual |
Listen / drop multicast groups (LAN-port-only)
Implements DtForwarderPort.
References DtExtendedRtiMsgForwarder::listenToMulticastGroup(), and myForwarder.
|
protected |
|
virtual |
Return count of aborted connections.
Since LAN port does not initiate connections it cannot abort them either, so this method always returns 0
Implements DtForwarderPort.
|
virtual |
References connections(), DtRtiMsgForwarder::getConnToConnInfoMap(), DtRtiMsgForwarder::hasExec(), and myForwarder.
Referenced by DtForwarderNode::connectionInformation().
|
virtual |
Add this port's current select() notification set to the passed set.
Implements DtForwarderPort.
References myForwarder, and DtExtendedRtiMsgForwarder::selectParams().
|
virtual |
Check transport metadata and send message to appropriate destinations.
Implements DtForwarderPort.
References myForwarder, and DtExtendedRtiMsgForwarder::sendByTransport().
|
virtual |
Send a message via reliable transport to all available destinations.
Implements DtForwarderPort.
References myForwarder, and DtExtendedRtiMsgForwarder::sendToAllReliable().
|
virtual |
Send a message via reliable transport to the specified list of destinations.
Implements DtForwarderPort.
References myForwarder, and DtExtendedRtiMsgForwarder::sendToAllReliable().
|
static |
Call this function to set an alternate creator function With this function, users can replace this DtLanForwarderPort with their own derived class.
References create(), DtBindCreator(), and theCreator.
|
virtual |
Set forwarder ID.
When forwarder is configured via routes files, forwarderID is known at construction, but when configured dynamically it is determined by interactions between peer forwarders and must be set.
Reimplemented from DtForwarderPort.
References myForwarder, myIsReady, DtForwarderPort::myRoutes, and DtRtiMsgForwarder::setForwarderId().
|
virtual |
Update locally connected federate connection ID (LAN-port-only)
Implements DtForwarderPort.
References myForwarder, and DtRtiMsgForwarder::updateFederateConnectionId().
|
virtual |
Handle changes to the Routing map.
Implements DtForwarderPort.
|
protected |
Referenced by checkConnectionStatus(), connections(), dropMulticastGroup(), DtLanForwarderPort(), fedTrackingFilter(), flush(), getNextMsg(), listenToMulticastGroup(), populateConnectionInformation(), selectParams(), sendByTransport(), sendToAllReliable(), sendToListReliable(), setForwarderId(), updateFederateConnectionId(), and ~DtLanForwarderPort().
|
protected |
Referenced by DtLanForwarderPort(), isReady(), and setForwarderId().
|
protected |
|
staticprotected |
Referenced by create(), and setCreatorFunction().