MAK RTIspy API Documentation for HLA 1516
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Static Protected Attributes
DtLanForwarderPort Class Reference

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 DtForwarderPortcreate (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)
DtLanForwarderPortoperator= (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 DtRIDParametersmyParams
DtExtendedRtiMsgForwardermyForwarder
bool myIsReady
- Protected Attributes inherited from DtForwarderPort
const DtRIDParametersmyParams
DtBoost::shared_ptr< DtRouteMapmyRoutes
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

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)

Detailed Description

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.

Constructor & Destructor Documentation

DtLanForwarderPort::DtLanForwarderPort ( const DtRIDParameters params,
DtBoost::shared_ptr< DtRouteMap routes,
const MAKRti::DtInetAddr &  host,
int  forwarderPort,
const MAKRti::DtInetAddr &  forwardertoConnectTo 
)
protected

Base Ctor - called by default creator.

virtual DtLanForwarderPort::~DtLanForwarderPort ( )
virtual
DtLanForwarderPort::DtLanForwarderPort ( )
protected

Default Ctor, Copy Ctor, Assignment - unimplemented.

DtLanForwarderPort::DtLanForwarderPort ( const DtLanForwarderPort orig)
protected

Member Function Documentation

virtual unsigned int DtLanForwarderPort::abortPendingConnections ( )
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 int DtLanForwarderPort::checkConnectionStatus ( const DtInetAddrAndPort target = 0)
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.

virtual void DtLanForwarderPort::clearNeededConnections ( )
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 DtAddressPortList DtLanForwarderPort::connections ( ) const
virtual

Get the list of all current connections to this port.

Implements DtForwarderPort.

static DtForwarderPort* DtLanForwarderPort::create ( const DtRIDParameters params,
const DtBoost::shared_ptr< DtRouteMap routes,
const MAKRti::DtInetAddr &  host,
int  forwarderPort,
const MAKRti::DtInetAddr &  forwardertoConnectTo 
)
static

Creates an instance of a DtLanForwarderPort.

virtual void DtLanForwarderPort::dropMulticastGroup ( const MAKRti::DtInetAddr &  mcastAddr)
virtual

Implements DtForwarderPort.

virtual const DtFederateTrackingFilter* DtLanForwarderPort::fedTrackingFilter ( ) const
virtual

return federateTrackingFilter

virtual bool DtLanForwarderPort::flush ( )
inlinevirtual

Flush any unsent/buffered packets; return true if flush sent data.

Reimplemented from DtForwarderPort.

virtual DtAddressMsgPair DtLanForwarderPort::getNextMsg ( )
virtual

Get the next message to forward and the source connection.

Implements DtForwarderPort.

virtual bool DtLanForwarderPort::isReady ( ) const
virtual

Is the Port fully usable and available?

Implements DtForwarderPort.

virtual void DtLanForwarderPort::listenToMulticastGroup ( const MAKRti::DtInetAddr &  mcastAddr)
virtual

Listen / drop multicast groups (LAN-port-only)

Implements DtForwarderPort.

DtLanForwarderPort& DtLanForwarderPort::operator= ( const DtLanForwarderPort orig)
protected
unsigned int DtLanForwarderPort::pendingConnectionsAborted ( )
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 bool DtLanForwarderPort::populateConnectionInformation ( unsigned int &  numForwarderClientConns,
unsigned int &  numForwarderExecConns,
std::vector< MAKRti::DtString > &  clientConnectionHostNames,
std::vector< MAKRti::DtInetAddr > &  clientConnectionAddrs 
) const
virtual
virtual void DtLanForwarderPort::selectParams ( MAKRti::DtSelectParamWithWrite &  selectParams)
virtual

Add this port's current select() notification set to the passed set.

Implements DtForwarderPort.

virtual void DtLanForwarderPort::sendByTransport ( const DtForwarderMsg msg) const
virtual

Check transport metadata and send message to appropriate destinations.

Implements DtForwarderPort.

virtual void DtLanForwarderPort::sendToAllReliable ( const DtForwarderMsg msg) const
virtual

Send a message via reliable transport to all available destinations.

Implements DtForwarderPort.

virtual void DtLanForwarderPort::sendToListReliable ( const DtForwarderMsg msg,
const DtAddressPortList destinations 
) const
virtual

Send a message via reliable transport to the specified list of destinations.

Implements DtForwarderPort.

static void DtLanForwarderPort::setCreatorFunction ( DtForwarderPortCreatorFcn  creator)
static

Call this function to set an alternate creator function With this function, users can replace this DtLanForwarderPort with their own derived class.

virtual void DtLanForwarderPort::setForwarderId ( unsigned long  id)
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.

virtual bool DtLanForwarderPort::updateFederateConnectionId ( unsigned long  orig,
unsigned long  final 
)
virtual

Update locally connected federate connection ID (LAN-port-only)

Implements DtForwarderPort.

virtual void DtLanForwarderPort::updateRoutes ( )
virtual

Handle changes to the Routing map.

Implements DtForwarderPort.

Member Data Documentation

DtExtendedRtiMsgForwarder* DtLanForwarderPort::myForwarder
protected
bool DtLanForwarderPort::myIsReady
protected
const DtRIDParameters* DtLanForwarderPort::myParams
protected
DtForwarderPortCreatorFcn DtLanForwarderPort::theCreator
staticprotected

The documentation for this class was generated from the following file:

Document ID: Generated on Mon Mar 21 09:41:37 EDT 2016 from SVN revision 163228
Copyright © 2005-2015 VT MÄK Inc. All Rights Reserved (www.mak.com)