MAK RTIspy API Documentation for HLA 1516
List of all members | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Static Protected Attributes
DtInOutForwarderPort 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 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 DtForwarderPortcreate (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)
DtInOutForwarderPortoperator= (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)

Protected Attributes

bool myIsReady
DtPeerToPeerTcpSockMgrmyConnectionMgr
DtForwarderPort::DtAddrToConnMap myConnections
DtForwarderPort::DtAddrToConnMap::const_iterator myNextConnection
DtForwarderPort::DtAddrToConnMap::const_iterator myLastConnection
std::map< DtInetAddrAndPort,
DtTcpMsgSocket * > 
myAddrToSockMap
DtForwarderPort::DtSocketSet myPendingConnections
 Connections which are in process.
DtForwarderPort::DtSocketSet myPrePendingConnections
DtForwarderPort::DtSocketSet myPostPendingConnections
DtForwarderPort::DtSocketSet myUnknownPortConnections
std::map< DtInetAddrAndPort,
DtString > 
myNeededConnections
 Connections needed before the forwarding network is complete.
std::map< DtInetAddrAndPort,
DtString > 
myStillNeededConnections
 Connections still needed before the forwarding network is complete.
std::map< DtInetAddrAndPort,
DtInetAddrAndPort
myUsedToListeningMap
 Map of actual address/port pairs to listening address/port pairs, which are also used for identification.
DtForwarderPort::DtSocketList myInitiatedConnections
DtForwarderPort::DtSocketSet myExpiredConnections
DtForwarderPort::DtSocketSet myDiscardedRemoteSockets
DtUdpMsgSocketmyLegacyUdpConnection
std::map< DtInetAddrAndPort,
unsigned long long > 
myMacAddrsOfConnectedForwardersMap
bool myIsRootForwarderNode
MAKRti::DtClock myClock
std::map< DtTcpMsgSocket
*, MAKRti::DtTime > 
mySktSendTimeMap
MAKRti::DtInetDevice myHostIf
 The interface used for connections with other forwarders.
int myCompressionLevel
- 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 = 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)

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

DtInOutForwarderPort::DtInOutForwarderPort ( const DtRIDParameters params,
DtBoost::shared_ptr< DtRouteMap routes,
const MAKRti::DtInetAddr &  host,
int  forwarderPort,
const MAKRti::DtInetAddr &  forwarderAddrToConnectTo 
)
protected
DtInOutForwarderPort::~DtInOutForwarderPort ( )
virtual
DtInOutForwarderPort::DtInOutForwarderPort ( )
protected

Default Ctor, Copy Ctor, Assignment - unimplemented.

Referenced by create().

DtInOutForwarderPort::DtInOutForwarderPort ( const DtInOutForwarderPort orig)
protected

Member Function Documentation

unsigned int DtInOutForwarderPort::abortPendingConnections ( )
virtual

Abort any embryonic connections.

Implements DtForwarderPort.

References DtPeerToPeerTcpSockMgr::abortPendingConnections(), and myConnectionMgr.

void DtInOutForwarderPort::addConnection ( const DtInetAddrAndPort newConn,
DtTcpMsgSocket sock 
)
protected
bool DtInOutForwarderPort::addSocketDynamically ( DtTcpMsgSocket sock)
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().

void DtInOutForwarderPort::addSocketUsingRoutesFile ( DtTcpMsgSocket sock,
const DtInetAddrAndPort addrAndPort 
)
protected
void DtInOutForwarderPort::becomeRootForwarderNode ( )
protected

Sets this forwarder node as the root.

References myIsRootForwarderNode.

Referenced by initializeConnections(), and socketRemovalCb().

int DtInOutForwarderPort::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.

References DtForwarderPort::connectionLost(), interval, DtTcpMsgSocket::isConnected(), myClock, myConnectionMgr, myConnections, DtForwarderPort::myRoutes, mySktSendTimeMap, DtPeerToPeerTcpSockMgr::processConnections(), processInitializationMessages(), processLostConnection(), and DtTcpMsgSocket::testConnectionStatus().

void DtInOutForwarderPort::clearNeededConnections ( )
virtual

Clear the list of needed forwarder connections.

Implements DtForwarderPort.

References myNeededConnections, and myStillNeededConnections.

void DtInOutForwarderPort::connectionCompleted ( const DtInetAddrAndPort addrAndPort,
DtTcpMsgSocket sock 
)
protected
MAKRti::DtString DtInOutForwarderPort::connectionListToString ( const char *  separator = " : ") const
virtual

Print the current connection list.

References DtForwarderPort::myAddress, and myConnections.

Referenced by connectionCompleted(), and socketRemovalCb().

DtForwarderPort::DtAddressPortList DtInOutForwarderPort::connections ( ) const
virtual

Get the list of all current connections to this port.

Implements DtForwarderPort.

References myConnections.

bool DtInOutForwarderPort::connectToPeer ( const DtInetAddrAndPort addrToConnectTo)
protectedvirtual
DtForwarderPort * DtInOutForwarderPort::create ( const DtRIDParameters params,
const DtBoost::shared_ptr< DtRouteMap routes,
const MAKRti::DtInetAddr &  host,
int  forwarderPort,
const MAKRti::DtInetAddr &  additionalForwarderToConnectTo 
)
static

Creates an instance of a DtInOutForwarderPort.

References DtInOutForwarderPort(), and theCreator.

Referenced by setCreatorFunction().

virtual void DtInOutForwarderPort::dropMulticastGroup ( const MAKRti::DtInetAddr &  mcastAddr)
inlinevirtual

Implements DtForwarderPort.

bool DtInOutForwarderPort::flush ( )
virtual
bool DtInOutForwarderPort::flushOnly ( )
virtual

Flush any pending messages. Does not do any socket disconnect processing.

References myConnections.

Referenced by flush(), and socketRemovalCb().

bool DtInOutForwarderPort::getInitializationMsg ( DtMsgSocket sock,
DtAddressMsgPair msg,
bool  printBeDestMetadata 
)
virtual
bool DtInOutForwarderPort::getInitializationMsgs ( DtForwarderPort::DtSocketSet socks,
std::list< DtAddressMsgPair > &  msgs,
bool  printBeDestMetadata 
)
virtual

Get the next initialization messages off of a set of pending TCP sockets.

References getInitializationMsg().

Referenced by processInitializationMessages().

DtForwarderPort::DtAddressMsgPair DtInOutForwarderPort::getNextMsg ( )
virtual
void DtInOutForwarderPort::initializeConnections ( )
protectedvirtual
bool DtInOutForwarderPort::isReady ( ) const
virtual

Is the Port fully usable and available?

Implements DtForwarderPort.

References myIsReady.

virtual void DtInOutForwarderPort::listenToMulticastGroup ( const MAKRti::DtInetAddr &  mcastAddr)
inlinevirtual

Listen / drop multicast groups (not implemented in this class)

Implements DtForwarderPort.

DtInOutForwarderPort& DtInOutForwarderPort::operator= ( const DtInOutForwarderPort orig)
protected
unsigned int DtInOutForwarderPort::pendingConnectionsAborted ( )
virtual

Return a count of aborted or failed connection attempts.

Implements DtForwarderPort.

References myConnectionMgr, and DtPeerToPeerTcpSockMgr::pendingConnectionsAborted().

bool DtInOutForwarderPort::populateConnectionInformation ( unsigned int &  numForwarderToForwarderConns,
std::vector< MAKRti::DtString > &  forwarderIdentifiers,
std::vector< MAKRti::DtString > &  forwarderConnectionHostNames,
std::vector< DtInetAddrAndPort > &  forwarderConnectionAddrs 
) const
virtual
void DtInOutForwarderPort::processForwarderNodeInfoMsg ( const DtForwarderPort::DtAddressMsgPair msg)
virtual
void DtInOutForwarderPort::processInitializationMessages ( )
virtual
int DtInOutForwarderPort::processLostConnection ( DtTcpMsgSocket sock)
protectedvirtual
void DtInOutForwarderPort::processMacAddrMsg ( const DtForwarderPort::DtAddressMsgPair msg)
virtual
void DtInOutForwarderPort::processPortMsg ( const DtForwarderPort::DtAddressMsgPair msgPair)
virtual
void DtInOutForwarderPort::removeConnection ( DtAddrToConnMap::iterator  pos)
protected
bool DtInOutForwarderPort::removeFromPendingList ( DtTcpMsgSocket addr)
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().

void DtInOutForwarderPort::selectParams ( MAKRti::DtSelectParamWithWrite &  selectParams)
virtual

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

Implements DtForwarderPort.

References myConnections.

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

Check transport metadata and send message to appropriate destinations.

Implements DtForwarderPort.

void DtInOutForwarderPort::sendForwarderNodeInfoMsg ( DtTcpMsgSocket sock)
void DtInOutForwarderPort::sendForwarderNodeInfoMsg ( )
void DtInOutForwarderPort::sendMacAddrMsg ( DtTcpMsgSocket sock)
virtual
void DtInOutForwarderPort::sendPortMsg ( DtTcpMsgSocket sock)
virtual
void DtInOutForwarderPort::sendToAllReliable ( const DtForwarderMsg msg) const
virtual
void DtInOutForwarderPort::sendToListReliable ( const DtForwarderMsg msg,
const DtAddressPortList destinations 
) const
virtual
void DtInOutForwarderPort::setCreatorFunction ( DtForwarderPortCreatorFcn  creator)
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.

void DtInOutForwarderPort::socketAdditionCb ( DtTcpMsgSocket sock,
void *  usr 
)
static

Callback for new connections.

Referenced by DtInOutForwarderPort(), and ~DtInOutForwarderPort().

void DtInOutForwarderPort::socketAdditionCb ( DtTcpMsgSocket sock)
virtual
void DtInOutForwarderPort::socketEstablishedCb ( DtTcpMsgSocket sock,
void *  usr 
)
static

Callback for established connections.

Referenced by DtInOutForwarderPort(), and ~DtInOutForwarderPort().

void DtInOutForwarderPort::socketEstablishedCb ( DtTcpMsgSocket sock)
virtual
void DtInOutForwarderPort::socketRemovalCb ( DtTcpMsgSocket sock,
void *  usr 
)
static

Callback for dropped connections.

Referenced by DtInOutForwarderPort(), and ~DtInOutForwarderPort().

void DtInOutForwarderPort::socketRemovalCb ( DtTcpMsgSocket sock)
virtual
bool DtInOutForwarderPort::updateFederateConnectionId ( unsigned long  orig,
unsigned long  final 
)
inlinevirtual

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

Implements DtForwarderPort.

void DtInOutForwarderPort::updateRoutes ( )
virtual

Member Data Documentation

std::map<DtInetAddrAndPort, DtTcpMsgSocket*> DtInOutForwarderPort::myAddrToSockMap
protected
MAKRti::DtClock DtInOutForwarderPort::myClock
protected
int DtInOutForwarderPort::myCompressionLevel
protected
DtPeerToPeerTcpSockMgr* DtInOutForwarderPort::myConnectionMgr
protected
DtForwarderPort::DtAddrToConnMap DtInOutForwarderPort::myConnections
protected
DtForwarderPort::DtSocketSet DtInOutForwarderPort::myDiscardedRemoteSockets
protected
DtForwarderPort::DtSocketSet DtInOutForwarderPort::myExpiredConnections
protected
MAKRti::DtInetDevice DtInOutForwarderPort::myHostIf
protected

The interface used for connections with other forwarders.

Referenced by addSocketUsingRoutesFile(), connectToPeer(), and DtInOutForwarderPort().

DtForwarderPort::DtSocketList DtInOutForwarderPort::myInitiatedConnections
protected
bool DtInOutForwarderPort::myIsReady
protected
bool DtInOutForwarderPort::myIsRootForwarderNode
protected
DtForwarderPort::DtAddrToConnMap::const_iterator DtInOutForwarderPort::myLastConnection
protected
DtUdpMsgSocket* DtInOutForwarderPort::myLegacyUdpConnection
protected
std::map<DtInetAddrAndPort, unsigned long long> DtInOutForwarderPort::myMacAddrsOfConnectedForwardersMap
protected

Referenced by processMacAddrMsg().

std::map<DtInetAddrAndPort, DtString> DtInOutForwarderPort::myNeededConnections
protected

Connections needed before the forwarding network is complete.

Referenced by clearNeededConnections(), initializeConnections(), and updateRoutes().

DtForwarderPort::DtAddrToConnMap::const_iterator DtInOutForwarderPort::myNextConnection
protected
DtForwarderPort::DtSocketSet DtInOutForwarderPort::myPendingConnections
protected
DtForwarderPort::DtSocketSet DtInOutForwarderPort::myPostPendingConnections
protected
DtForwarderPort::DtSocketSet DtInOutForwarderPort::myPrePendingConnections
protected
std::map< DtTcpMsgSocket*, MAKRti::DtTime > DtInOutForwarderPort::mySktSendTimeMap
mutableprotected
std::map<DtInetAddrAndPort, DtString> DtInOutForwarderPort::myStillNeededConnections
protected

Connections still needed before the forwarding network is complete.

Referenced by addSocketUsingRoutesFile(), clearNeededConnections(), initializeConnections(), and updateRoutes().

DtForwarderPort::DtSocketSet DtInOutForwarderPort::myUnknownPortConnections
protected
std::map<DtInetAddrAndPort, DtInetAddrAndPort> DtInOutForwarderPort::myUsedToListeningMap
protected

Map of actual address/port pairs to listening address/port pairs, which are also used for identification.

Referenced by addConnection(), processPortMsg(), and socketRemovalCb().

DtInOutForwarderPort::DtForwarderPortCreatorFcn DtInOutForwarderPort::theCreator = 0
staticprotected

Referenced by create(), and setCreatorFunction().


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

Document ID: Generated on Tue May 7 16:26:47 EDT 2013 from SVN revision 126903
Copyright © 2005-2013 VT MÄK Inc. All Rights Reserved (www.mak.com)