11 #ifndef DtForwarderPort_H_
12 #define DtForwarderPort_H_
18 #include <vlutil/vlConfig.h>
19 #include <vlutil/vlUtil.h>
20 #include <vlutil/vlSelectParamW.h>
21 #include <vlutil/vlFedTarget.h>
22 #include <vlutil/vlInetAddr.h>
41 const DtBoost::shared_ptr<DtRouteMap>,
42 const MAKRti::DtInetAddr&, int,
const MAKRti::DtInetEndpoint& );
61 typedef int (*DtConnectionAddRemoveCb)(
const MAKRti::DtString&,
62 const MAKRti::DtString&,
unsigned int,
const std::pair<DtInetAddrAndPort, DtInetAddrAndPort>&,
void*);
63 typedef int(*DtConnectionReconnectBegunCb)(
const MAKRti::DtString&,
65 typedef int(*DtConnectionReconnectCompleteCb)(
const MAKRti::DtString&,
67 typedef int (*DtConnectionChangeCb)(
const MAKRti::DtString& ,
68 const MAKRti::DtString&,
unsigned int,
unsigned int,
const DtInetAddrAndPort&,
void*);
69 typedef void (*DtFederateAddedCb)(
const MAKRti::DtString&,
70 const MAKRti::DtString&,
const MAKRti::DtString&,
unsigned int,
72 unsigned int,
const MAKRti::DtString&,
const MAKRti::DtString&,
74 typedef void (*DtFederateRemovedCb)(
const MAKRti::DtString&,
75 const MAKRti::DtString&,
unsigned int,
unsigned int,
77 typedef void (*DtPortReadyCb)(
unsigned long,
void*);
78 typedef int (*DtExecAddChangeCb)(
const MAKRti::DtString&,
unsigned int,
80 typedef int (*DtExecRemovedChangeCb)(
const MAKRti::DtString&,
unsigned int,
82 typedef int (*DtSocketQueueCb)(
unsigned int, int,
void*);
85 typedef void (*DtNotWaitingForFwsCb)(
void*);
101 MAKRti::DtInetAddr host,
int forwarderPort, MAKRti::DtInetEndpoint addnlConnection ) :
102 myParams( params ), myRoutes( routes ), myAddress( host ), myOk( true ),
103 myPortToUse(forwarderPort), myAdditionalAddrToConnectTo(addnlConnection)
110 virtual bool isOk()
const {
return myOk; }
113 virtual bool isReady()
const = 0;
116 virtual DtAddressMsgPair getNextMsg() = 0;
119 virtual void sendByTransport(
const DtForwarderMsg& msg )
const = 0;
122 virtual void sendToAllReliable(
const DtForwarderMsg& msg )
const = 0;
126 virtual void sendToListReliable(
const DtForwarderMsg& msg,
130 virtual inline bool flush();
133 virtual void selectParams( MAKRti::DtSelectParamWithWrite& selectParams ) = 0;
136 virtual void updateRoutes() = 0;
143 virtual void clearNeededConnections() = 0;
146 virtual unsigned int abortPendingConnections() = 0;
149 virtual unsigned int pendingConnectionsAborted() = 0;
152 virtual DtAddressPortList connections()
const = 0;
156 virtual void listenToMulticastGroup(
const MAKRti::DtInetAddr& mcastAddr ) = 0;
157 virtual void dropMulticastGroup(
const MAKRti::DtInetAddr& mcastAddr ) = 0;
161 virtual bool updateFederateConnectionId(
unsigned long orig,
162 unsigned long final ) = 0;
166 virtual inline void addConnectionEstablishedCb( DtConnectionAddRemoveCb callback,
void* usr );
167 virtual inline void removeConnectionEstablishedCb( DtConnectionAddRemoveCb callback,
void* usr );
168 virtual inline void addConnectionLostCb( DtConnectionAddRemoveCb callback,
void* usr );
169 virtual inline void removeConnectionLostCb( DtConnectionAddRemoveCb callback,
void* usr );
170 virtual inline void addConnectionChangedCb( DtConnectionChangeCb callback,
void* usr );
171 virtual inline void removeConnectionChangedCb( DtConnectionChangeCb callback,
void* usr );
173 virtual inline void addReconnectBegun(DtConnectionReconnectBegunCb callback,
void* usr);
174 virtual inline void removeReconnectBegun(DtConnectionReconnectBegunCb callback,
void* usr);
175 virtual inline void addReconnectComplete(DtConnectionReconnectCompleteCb callback,
void* usr);
176 virtual inline void removeReconnectComplete(DtConnectionReconnectCompleteCb callback,
void* usr);
181 virtual inline void addForwarderPortReadyCb( DtPortReadyCb callback,
void* usr );
182 virtual inline void removeForwarderPortReadyCb( DtPortReadyCb callback,
void* usr );
187 virtual inline void addFederateJoinedCb( DtFederateAddedCb callback,
void* usr );
188 virtual inline void removeFederateJoinedCb( DtFederateAddedCb callback,
void* usr );
189 virtual inline void addFederateResignedCb( DtFederateRemovedCb callback,
void* usr );
190 virtual inline void removeFederateResignedCb( DtFederateRemovedCb callback,
void* usr );
195 virtual inline void addSocketQueueCb( DtSocketQueueCb callback,
void* usr );
196 virtual inline void removeSocketQueueCb( DtSocketQueueCb callback,
void* usr );
202 virtual inline void addWaitingForForwarderConnectionsCb(DtWaitingForFwsCb callback,
void* usr);
203 virtual inline void removeWaitingForForwarderConnectionsCb(DtWaitingForFwsCb callback,
void* usr);
204 virtual inline void addNotWaitingForForwarderConnectionsCb(DtNotWaitingForFwsCb callback,
void* usr);
205 virtual inline void removeNotWaitingForForwarderConnectionsCb(DtNotWaitingForFwsCb callback,
void* usr);
210 virtual inline void addExecConnectionEstablishedCb(DtExecAddChangeCb callback,
void* usr);
211 virtual inline void removeExecConnectionEstablishedCb(DtExecAddChangeCb callback,
void * usr);
212 virtual inline void addExecDisconnectedCb(DtExecRemovedChangeCb callback,
void* usr);
213 virtual inline void removeExecDisconnectedCb(DtExecRemovedChangeCb callback,
void* usr);
220 virtual void setForwarderId(
unsigned long id);
225 virtual int execConnected(
const MAKRti::DtString& connName,
226 unsigned int connID,
const DtInetAddrAndPort& addr,
const MAKRti::DtString& hostName,
227 bool fullyCompliant);
228 virtual int execDisconnected(
const MAKRti::DtString& connName,
237 virtual inline int connectionEstablished(
const MAKRti::DtString& connName,
238 const MAKRti::DtString& hostName,
unsigned int connID,
const std::pair<DtInetAddrAndPort, DtInetAddrAndPort>& addr);
239 virtual inline int connectionLost(
const MAKRti::DtString& connName,
240 const MAKRti::DtString& hostName,
unsigned int connID,
const std::pair<DtInetAddrAndPort, DtInetAddrAndPort>& addr);
241 virtual inline int connectionChanged(
const MAKRti::DtString& connName,
242 const MAKRti::DtString& hostName,
unsigned int oldConnID,
unsigned int newConnID,
const DtInetAddrAndPort& addr );
243 inline int reconnectBegun(
const MAKRti::DtString& connName,
244 const MAKRti::DtString& hostName,
unsigned int connID,
const DtInetAddrAndPort& addr);
245 inline int reconnectComplete(
const MAKRti::DtString& connName,
246 const MAKRti::DtString& hostName,
unsigned int connID,
const DtInetAddrAndPort& addr,
bool wasSuccessful);
251 virtual void forwarderNodeIsReady(
unsigned long id);
255 virtual int socketQueueStatus(
unsigned int connId,
int connQueueStatus );
261 virtual void waitingForForwarderConnections(
const DtConnAndNameMap& allNeededFws,
262 const DtConnAndNameMap& stillNeededFws);
266 virtual void notWaitingForForwarderConnections();
271 virtual void federateResigned(
const MAKRti::DtString& connName,
272 const MAKRti::DtString& connType,
unsigned int connID,
274 virtual void federateJoined(
const MAKRti::DtString& connName,
275 const MAKRti::DtString& connType,
276 const MAKRti::DtString& federationName,
unsigned int connID,
278 const MAKRti::DtString& hostName,
unsigned int processId,
279 const MAKRti::DtString& processName,
287 static int connectionEstablished(
const MAKRti::DtString& connName,
288 const MAKRti::DtString& hostName,
unsigned int connID,
const std::pair<DtInetAddrAndPort, DtInetAddrAndPort>& addr,
void* usr);
289 static int connectionLost(
const MAKRti::DtString& connName,
290 const MAKRti::DtString& hostName,
unsigned int connID,
const std::pair<DtInetAddrAndPort, DtInetAddrAndPort>& addr,
void* usr);
291 static int connectionChanged(
const MAKRti::DtString& connName,
292 const MAKRti::DtString& hostName,
unsigned int oldConnID,
unsigned int newConnID,
298 static void federateJoined(
const MAKRti::DtString& connName,
299 const MAKRti::DtString& connType,
300 const MAKRti::DtString& federationName,
unsigned int connID,
302 const MAKRti::DtString& hostName,
unsigned int processId,
303 const MAKRti::DtString& processName,
const MAKRti::DtString& commandArgs,
305 static void federateResigned(
const MAKRti::DtString& connName,
306 const MAKRti::DtString& connType,
unsigned int connID,
312 static int execConnected(
const MAKRti::DtString& connName,
314 const MAKRti::DtString& hostName,
bool fullyCompliant,
void* usr);
315 static int execDisconnected(
const MAKRti::DtString& connName,
320 static int socketQueueStatus(
unsigned int connId,
int connQueueStatus,
324 static void forwarderNodeIsReady(
unsigned long id,
void* usr);
366 std::pair<DtConnectionAddRemoveCb, void*> cbPair( callback, usr );
384 const MAKRti::DtString& hostName,
unsigned int connID,
const std::pair<DtInetAddrAndPort, DtInetAddrAndPort>& addr)
390 if (-1 == ( *iter->first )( connName, hostName, connID, addr, iter->second ))
401 std::pair<DtConnectionAddRemoveCb, void*> cbPair( callback, usr );
418 const MAKRti::DtString& hostName,
unsigned int connID,
const std::pair<DtInetAddrAndPort, DtInetAddrAndPort>& addr)
424 if ( -1 == ( *iter->first )( connName, hostName, connID, addr, iter->second ) )
432 const MAKRti::DtString& hostName,
unsigned int connID,
const DtInetAddrAndPort& addr)
438 if (-1 == (*iter->first)(connName, hostName, connID, addr, iter->second))
446 const MAKRti::DtString& hostName,
unsigned int connID,
const DtInetAddrAndPort& addr,
bool wasSuccessful)
452 if (-1 == (*iter->first)(connName, hostName, connID, addr, wasSuccessful, iter->second))
462 std::pair<DtConnectionChangeCb, void*> cbPair( callback, usr );
481 std::pair<DtConnectionReconnectBegunCb, void*> cbPair(callback, usr);
482 DtConnectionReconnectBegunCallbackList::iterator pos = std::find(
myReconnectBegunCbs.begin(),
491 DtConnectionReconnectBegunCallbackList::iterator pos = std::find(
myReconnectBegunCbs.begin(),
498 std::pair<DtConnectionReconnectCompleteCb, void*> cbPair(callback, usr);
514 const MAKRti::DtString& hostName,
unsigned int oldConnID,
unsigned int newConnID,
521 if (-1 == ( *iter->first )( connName, hostName, oldConnID, newConnID, addr, iter->second ))
532 std::pair<DtFederateRemovedCb, void*> cbPair( callback, usr );
551 std::pair< DtSocketQueueCb, void* > cbPair( callback, usr );
553 DtSocketQueueCallbackList::iterator pos = std::find(
mySocketQueueCbs.begin(),
562 DtSocketQueueCallbackList::iterator pos = std::find(
mySocketQueueCbs.begin(),
575 ( *iter->first )( connName, connType, connID, fedHandle, addr, iter->second );
582 ((
DtForwarderPort*)usr)->federateResigned(connName, connType, connID, fedHandle, addr);
588 std::pair<DtPortReadyCb, void*> cbPair( callback, usr );
589 DtPortReadyCallbackList::iterator pos = std::find(
myPortReadyCbs.begin(),
599 DtPortReadyCallbackList::iterator pos = std::find(
myPortReadyCbs.begin(),
607 return (static_cast<DtForwarderPort*>(usr))->forwarderNodeIsReady(
id);
612 for ( DtPortReadyCallbackList::iterator iter =
myPortReadyCbs.begin();
615 ( *iter->first )(
id, iter->second);
624 std::pair<DtFederateAddedCb, void*> cbPair( callback, usr );
641 const MAKRti::DtString& connType,
642 const MAKRti::DtString& federationName,
644 unsigned int fedHandle,
646 const MAKRti::DtString& hostName,
647 unsigned int processId,
648 const MAKRti::DtString& processName,
649 const MAKRti::DtString& commandArgs,
655 ( *iter->first )( connName, connType, federationName, connID, fedHandle,
656 addr, hostName, processId, processName, commandArgs, hlaVersion,
662 const MAKRti::DtString& connType,
663 const MAKRti::DtString& federationName,
665 unsigned int fedHandle,
667 const MAKRti::DtString& hostName,
668 unsigned int processId,
669 const MAKRti::DtString& processName,
670 const MAKRti::DtString& commandArgs,
674 ((
DtForwarderPort*)usr)->federateJoined(connName, connType, federationName,
675 connID, fedHandle, addr, hostName, processId, processName, commandArgs,
681 const MAKRti::DtString& hostName,
683 const std::pair<DtInetAddrAndPort, DtInetAddrAndPort>& addr,
686 return ((
DtForwarderPort*)usr)->connectionEstablished(connName, hostName, connID, addr);
690 const MAKRti::DtString& hostName,
692 const std::pair<DtInetAddrAndPort, DtInetAddrAndPort>& addr,
695 return ((
DtForwarderPort*)usr)->connectionLost(connName, hostName, connID, addr);
699 const MAKRti::DtString& hostName,
unsigned int oldConnID,
unsigned int newConnID,
703 return ((
DtForwarderPort*)usr)->connectionChanged(connName, hostName, oldConnID, newConnID, addr);
709 std::pair<DtExecAddChangeCb, void*> cbPair( callback, usr );
731 const MAKRti::DtString& hostName,
732 bool fullyCompliant,
void* usr)
734 return ((
DtForwarderPort*)usr)->execConnected(connName, connID, addr, hostName, fullyCompliant);
740 const MAKRti::DtString& hostName,
741 bool fullyCompliant )
747 if ( -1 == ( *iter->first )( connName, connID, addr, hostName, fullyCompliant, iter->second ) )
759 std::pair<DtExecRemovedChangeCb, void*> cbPair( callback, usr );
781 return ((
DtForwarderPort*)usr)->execDisconnected(connName, connID, addr);
791 if ( -1 == ( *iter->first )( connName, connID, addr, iter->second ) )
802 std::pair< DtWaitingForFwsCb, void* > cbPair( callback, usr );
830 ( *iter->first )( allNeededFws, stillNeededFws, iter->second );
837 std::pair< DtNotWaitingForFwsCb, void* > cbPair( callback, usr );
864 ( *iter->first )( iter->second );
870 return ((
DtForwarderPort*)usr)->socketQueueStatus( connId, connQueueStatus );
880 if( -1 == ( *iter->first )( connId, connQueueStatus, iter->second ) )
DtRouteMap::DtInterfaceAddrSet DtInterfaceAddrSet
Definition: forwarderPort.h:53
std::set< DtTcpMsgSocket * > DtSocketSet
Definition: forwarderPort.h:55
std::vector< std::pair< DtConnectionChangeCb, void * > > DtConnectionChangeCallbackList
Definition: forwarderPort.h:89
std::pair< MAKRti::DtInetAddr, int > DtInetAddrAndPort
Definition: rtiUtil.h:147
DtRouteMap::DtAddressList DtAddressList
Definition: forwarderPort.h:52
virtual void addSocketQueueCb(DtSocketQueueCb callback, void *usr)
Register/Unregister callback for event - socket queue status changes.
Definition: forwarderPort.h:548
DtExecAddedCallbackList myExecConnectedCbs
Definition: forwarderPort.h:344
virtual void removeConnectionChangedCb(DtConnectionChangeCb callback, void *usr)
Register/Unregister callback for addition/removal/change of connections.
Definition: forwarderPort.h:471
virtual void setForwarderId(unsigned long id)
Set forwarder ID.
Definition: forwarderPort.h:357
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...
Definition: forwarderPort.h:513
std::vector< std::pair< DtExecAddChangeCb, void * > > DtExecAddedCallbackList
Definition: forwarderPort.h:93
std::pair< DtTcpMsgSocket *, DtForwarderMsg > DtSockMsgPair
Definition: forwarderPort.h:57
std::vector< std::pair< DtFederateRemovedCb, void * > > DtFederateRemovedCallbackList
Definition: forwarderPort.h:91
DtConnectionReconnectCompleteCallbackList myReconnectCompleteCbs
Definition: forwarderPort.h:339
bool myOk
Definition: forwarderPort.h:331
The DtForwarderPort is an Abstract Base Class which provides the interface to a collection of connect...
Definition: forwarderPort.h:35
virtual void notWaitingForForwarderConnections()
Called when exiting from the waiting for forwarder connections state.
Definition: forwarderPort.h:859
This class manages the RTI's start-up configuration using both MTL variables and functions.
Definition: RIDparams.h:87
std::vector< std::pair< DtWaitingForFwsCb, void * > > DtWaitingForFwsCallbackList
Definition: forwarderPort.h:96
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.
Definition: forwarderPort.h:640
const DtRIDParameters * myParams
Definition: forwarderPort.h:328
MAKRti::DtTransportType transport
Definition: forwarderPort.h:48
virtual void removeForwarderPortReadyCb(DtPortReadyCb callback, void *usr)
Register/Unregister callback for event - forwarder port becomes ready.
Definition: forwarderPort.h:597
virtual void removeConnectionLostCb(DtConnectionAddRemoveCb callback, void *usr)
Register/Unregister callback for addition/removal/change of connections.
Definition: forwarderPort.h:410
DtConnectionChangeCallbackList myConnectionChangedCbs
Definition: forwarderPort.h:340
virtual void addForwarderPortReadyCb(DtPortReadyCb callback, void *usr)
Register/Unregister callback for event - forwarder port becomes ready.
Definition: forwarderPort.h:585
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...
Definition: forwarderPort.h:445
virtual void removeSocketQueueCb(DtSocketQueueCb callback, void *usr)
Register/Unregister callback for event - socket queue status changes.
Definition: forwarderPort.h:560
DtHlaVersionId
Definition: rtiVersion.h:42
virtual void addWaitingForForwarderConnectionsCb(DtWaitingForFwsCb callback, void *usr)
Register/Unregister callback for event - entrance/exit the "waiting for forwarder connections" state...
Definition: forwarderPort.h:799
virtual void removeFederateJoinedCb(DtFederateAddedCb callback, void *usr)
Register/Unregister callback for event - federate join/resign.
Definition: forwarderPort.h:633
virtual void removeExecConnectionEstablishedCb(DtExecAddChangeCb callback, void *usr)
Register/Unregister callback for event - exec connected/disconnected.
Definition: forwarderPort.h:718
std::vector< std::pair< DtExecRemovedChangeCb, void * > > DtExecRemovedCallbackList
Definition: forwarderPort.h:94
virtual void addConnectionLostCb(DtConnectionAddRemoveCb callback, void *usr)
Register/Unregister callback for addition/removal/change of connections.
Definition: forwarderPort.h:398
int myPortToUse
Definition: forwarderPort.h:333
const MAKRti::DtInetAddr myAddress
Definition: forwarderPort.h:330
virtual bool isOk() const
Is the Port still alive?
Definition: forwarderPort.h:110
Definition: forwarderPort.h:44
std::vector< std::pair< DtPortReadyCb, void * > > DtPortReadyCallbackList
Definition: forwarderPort.h:92
virtual void removeExecDisconnectedCb(DtExecRemovedChangeCb callback, void *usr)
Register/Unregister callback for event - exec connected/disconnected.
Definition: forwarderPort.h:768
virtual void addReconnectComplete(DtConnectionReconnectCompleteCb callback, void *usr)
Register/Unregister callback for addition/removal/change of connections.
Definition: forwarderPort.h:495
std::map< DtInetAddrAndPort, MAKRti::DtString > DtConnAndNameMap
Definition: forwarderPort.h:59
virtual int socketQueueStatus(unsigned int connId, int connQueueStatus)
Called when the socket queue status changes.
Definition: forwarderPort.h:873
DtConnectionReconnectBegunCallbackList myReconnectBegunCbs
Definition: forwarderPort.h:338
DtSocketQueueCallbackList mySocketQueueCbs
Definition: forwarderPort.h:346
std::pair< DtInetAddrAndPort, DtForwarderMsg > DtAddressMsgPair
Definition: forwarderPort.h:56
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...
Definition: forwarderPort.h:417
virtual void removeReconnectBegun(DtConnectionReconnectBegunCb callback, void *usr)
Register/Unregister callback for addition/removal/change of connections.
Definition: forwarderPort.h:489
std::vector< std::pair< DtSocketQueueCb, void * > > DtSocketQueueCallbackList
Definition: forwarderPort.h:95
DtForwarderPort(const DtRIDParameters *params, DtBoost::shared_ptr< DtRouteMap > routes, MAKRti::DtInetAddr host, int forwarderPort, MAKRti::DtInetEndpoint addnlConnection)
Definition: forwarderPort.h:100
DtRouteMap::DtAddressPortList DtAddressPortList
Definition: forwarderPort.h:51
std::vector< std::pair< DtConnectionReconnectBegunCb, void * > > DtConnectionReconnectBegunCallbackList
Definition: forwarderPort.h:87
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...
Definition: forwarderPort.h:383
virtual void waitingForForwarderConnections(const DtConnAndNameMap &allNeededFws, const DtConnAndNameMap &stillNeededFws)
Specifies that this port is waiting for other forwarder connections.
Definition: forwarderPort.h:824
MAKRti::DtInetEndpoint myAdditionalAddrToConnectTo
Definition: forwarderPort.h:334
std::vector< MAKRti::DtInetAddr > DtAddressList
Definition: routeMap.h:60
Definition: routeMap.h:41
The DtTcpMsgSocket class provides an address family independent TCP socket that handles RTI messages...
Definition: tcpMsgSocket.h:42
virtual void removeFederateResignedCb(DtFederateRemovedCb callback, void *usr)
Register/Unregister callback for event - federate join/resign.
Definition: forwarderPort.h:541
std::vector< DtTcpMsgSocket * > DtSocketList
Definition: forwarderPort.h:54
virtual void removeWaitingForForwarderConnectionsCb(DtWaitingForFwsCb callback, void *usr)
Register/Unregister callback for event - entrance/exit the "waiting for forwarder connections" state...
Definition: forwarderPort.h:813
virtual int execDisconnected(const MAKRti::DtString &connName, unsigned int connID, const DtInetAddrAndPort &addr)
Called when the exec connects/disconnects.
Definition: forwarderPort.h:784
DtConnectionAddRemoveCallbackList myConnectionLostCbs
Definition: forwarderPort.h:337
virtual void removeReconnectComplete(DtConnectionReconnectCompleteCb callback, void *usr)
Register/Unregister callback for addition/removal/change of connections.
Definition: forwarderPort.h:506
virtual void addExecDisconnectedCb(DtExecRemovedChangeCb callback, void *usr)
Register/Unregister callback for event - exec connected/disconnected.
Definition: forwarderPort.h:756
DtExecRemovedCallbackList myExecDisconnectedCbs
Definition: forwarderPort.h:345
int length
Definition: forwarderPort.h:47
DtPortReadyCallbackList myPortReadyCbs
Definition: forwarderPort.h:343
virtual ~DtForwarderPort()
Definition: forwarderPort.h:107
std::vector< std::pair< DtConnectionAddRemoveCb, void * > > DtConnectionAddRemoveCallbackList
Definition: forwarderPort.h:86
caddr_t msg
Definition: forwarderPort.h:46
std::vector< std::pair< DtFederateAddedCb, void * > > DtFederateAddedCallbackList
Definition: forwarderPort.h:90
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.
Definition: forwarderPort.h:737
virtual void forwarderNodeIsReady(unsigned long id)
Called when the forwarder port is known and node becomes ready.
Definition: forwarderPort.h:610
DtConnectionAddRemoveCallbackList myConnectionEstablishedCbs
Definition: forwarderPort.h:336
virtual void addFederateResignedCb(DtFederateRemovedCb callback, void *usr)
Register/Unregister callback for event - federate join/resign.
Definition: forwarderPort.h:529
virtual void addNotWaitingForForwarderConnectionsCb(DtNotWaitingForFwsCb callback, void *usr)
Register/Unregister callback for event - entrance/exit the "waiting for forwarder connections" state...
Definition: forwarderPort.h:834
virtual void addConnectionEstablishedCb(DtConnectionAddRemoveCb callback, void *usr)
Register/Unregister callback for addition/removal/change of connections.
Definition: forwarderPort.h:363
virtual void addConnectionChangedCb(DtConnectionChangeCb callback, void *usr)
Register/Unregister callback for addition/removal/change of connections.
Definition: forwarderPort.h:459
std::set< MAKRti::DtInetAddr > DtInterfaceAddrSet
Definition: routeMap.h:62
DtWaitingForFwsCallbackList myWaitingForFwsCbs
Definition: forwarderPort.h:347
DtNotWaitingForFwsCallbackList myNotWaitingForFwsCbs
Definition: forwarderPort.h:348
std::map< DtInetAddrAndPort, DtTcpMsgSocket * > DtAddrToConnMap
Definition: forwarderPort.h:58
virtual void addExecConnectionEstablishedCb(DtExecAddChangeCb callback, void *usr)
Register/Unregister callback for event - exec connected/disconnected.
Definition: forwarderPort.h:706
virtual void removeConnectionEstablishedCb(DtConnectionAddRemoveCb callback, void *usr)
Register/Unregister callback for addition/removal/change of connections.
Definition: forwarderPort.h:375
virtual void removeNotWaitingForForwarderConnectionsCb(DtNotWaitingForFwsCb callback, void *usr)
Register/Unregister callback for event - entrance/exit the "waiting for forwarder connections" state...
Definition: forwarderPort.h:848
#define DT_DLL_FORWARDER
Definition: rtiMsConfig.h:124
DtFederateAddedCallbackList myFederateJoinedCbs
Definition: forwarderPort.h:341
virtual void addFederateJoinedCb(DtFederateAddedCb callback, void *usr)
Register/Unregister callback for event - federate join/resign.
Definition: forwarderPort.h:621
std::vector< std::pair< DtNotWaitingForFwsCb, void * > > DtNotWaitingForFwsCallbackList
Definition: forwarderPort.h:97
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...
Definition: forwarderPort.h:431
virtual bool flush()
Flush any unsent/buffered packets; return true if flush sent data.
Definition: forwarderPort.h:351
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.
Definition: forwarderPort.h:569
DtFederateRemovedCallbackList myFederateResignedCbs
Definition: forwarderPort.h:342
std::vector< DtInetAddrAndPort > DtAddressPortList
Definition: routeMap.h:59
DtBoost::shared_ptr< DtRouteMap > myRoutes
Definition: forwarderPort.h:329
std::vector< std::pair< DtConnectionReconnectCompleteCb, void * > > DtConnectionReconnectCompleteCallbackList
Definition: forwarderPort.h:88
virtual void addReconnectBegun(DtConnectionReconnectBegunCb callback, void *usr)
Register/Unregister callback for addition/removal/change of connections.
Definition: forwarderPort.h:478