12 #ifndef DtRtiForwarderObserverMgr_H_
13 #define DtRtiForwarderObserverMgr_H_
20 #include <vlutil/vlSmartPointers.h>
21 #include <vlutil/vlTime.h>
22 #include <vlutil/vlInetAddr.h>
31 class DtTickWithForwarderCallbackInfo;
35 typedef void (*
DtForwarderPortCbFn)(
const MAKRti::DtString&,
const MAKRti::DtString&,
unsigned int, MAKRti::DtInetAddr);
43 const MAKRti::DtString& connName,
44 const MAKRti::DtString& hostName,
46 MAKRti::DtInetAddr connAddr ) :
103 virtual void setForwarderNode( DtBoost::shared_ptr<DtForwarderNode> forwarder);
106 virtual void addObserver( DtBoost::shared_ptr<DtRtiForwarderObserver> observer );
109 virtual void removeObserver( DtBoost::shared_ptr<DtRtiForwarderObserver> observer );
112 virtual void removeAllObservers();
117 bool isMomCallback );
120 virtual void removeRtiMsgCallback(
DtRtiMsgKind msgKind,
122 bool isMomCallback );
126 static int clientToForwarderConnectionEstablished(
127 const MAKRti::DtString& connName,
const MAKRti::DtString& hostName,
128 unsigned int connID,
const std::pair<DtInetAddrAndPort, DtInetAddrAndPort>& connAddr,
void* usr);
129 virtual int clientToForwarderConnectionEstablished(
130 const MAKRti::DtString& connName,
const MAKRti::DtString& hostName,
131 unsigned int connID,
const std::pair<DtInetAddrAndPort, DtInetAddrAndPort>& connAddr);
136 static int clientToForwarderConnectionLost(
137 const MAKRti::DtString& connName,
const MAKRti::DtString& hostName,
138 unsigned int connID,
const std::pair<DtInetAddrAndPort, DtInetAddrAndPort>& connAddr,
void* usr);
139 virtual int clientToForwarderConnectionLost(
140 const MAKRti::DtString& connName,
const MAKRti::DtString& hostName,
141 unsigned int connID,
const std::pair<DtInetAddrAndPort, DtInetAddrAndPort>& connAddr);
146 static void clientToForwarderFederateJoined(
147 const MAKRti::DtString& connName,
const MAKRti::DtString& connType,
148 const MAKRti::DtString& federationName,
149 unsigned int connID,
unsigned int fedHandle,
151 unsigned int procesId,
const MAKRti::DtString& processName,
154 virtual void clientToForwarderFederateJoined(
155 const MAKRti::DtString& connName,
const MAKRti::DtString& connType,
156 const MAKRti::DtString& federationName,
157 unsigned int connID,
unsigned int fedHandle,
159 unsigned int procesId,
const MAKRti::DtString& processName,
165 static int clientToForwarderSocketQueueUpdate(
166 unsigned int connId,
int connQueueStatus,
void* usr );
167 virtual int clientToForwarderSocketQueueUpdate(
168 unsigned int connId,
int connQueueStatus );
173 static void clientToForwarderFederateLost(
174 const MAKRti::DtString& connName,
const MAKRti::DtString& connType,
175 unsigned int connID,
unsigned int fedHandle,
177 virtual void clientToForwarderFederateLost(
178 const MAKRti::DtString& connName,
const MAKRti::DtString& connType,
179 unsigned int connID,
unsigned int fedHandle,
185 static int forwarderToForwarderExecConnected(
186 const MAKRti::DtString& connName,
unsigned int connID,
188 bool fullyCompliant,
void* usr );
189 virtual int forwarderToForwarderExecConnected(
190 const MAKRti::DtString& connName,
unsigned int connID,
192 bool fullyCompliant );
197 static int forwarderToForwarderExecLost(
198 const MAKRti::DtString& connName,
unsigned int connID,
200 virtual int forwarderToForwarderExecLost(
201 const MAKRti::DtString& connName,
unsigned int connID,
207 static int clientToForwarderExecConnected(
208 const MAKRti::DtString& connName,
unsigned int connID,
210 bool fullyCompliant,
void* usr );
211 virtual int clientToForwarderExecConnected(
212 const MAKRti::DtString& connName,
unsigned int connID,
214 bool fullyCompliant );
219 static int clientToForwarderExecLost(
220 const MAKRti::DtString& connName,
unsigned int connID,
222 virtual int clientToForwarderExecLost(
223 const MAKRti::DtString& connName,
unsigned int connID,
229 static int forwarderToForwarderConnectionEstablished(
230 const MAKRti::DtString& connName,
const MAKRti::DtString& hostName,
231 unsigned int connID,
const std::pair<DtInetAddrAndPort, DtInetAddrAndPort>& connAddr,
void* usr);
232 virtual int forwarderToForwarderConnectionEstablished(
233 const MAKRti::DtString& connName,
const MAKRti::DtString& hostName,
234 unsigned int connID,
const std::pair<DtInetAddrAndPort, DtInetAddrAndPort>& connAddr);
239 static int forwarderToForwarderConnectionLost(
240 const MAKRti::DtString& connName,
const MAKRti::DtString& hostName,
241 unsigned int connID,
const std::pair<DtInetAddrAndPort, DtInetAddrAndPort>& connAddr,
void* usr);
242 virtual int forwarderToForwarderConnectionLost(
243 const MAKRti::DtString& connName,
const MAKRti::DtString& hostName,
244 unsigned int connID,
const std::pair<DtInetAddrAndPort, DtInetAddrAndPort>& connAddr);
249 static int forwarderToForwarderConnectionChanged(
250 const MAKRti::DtString& connName,
const MAKRti::DtString& hostName,
251 unsigned int oldConnID,
unsigned int newConnID,
253 virtual int forwarderToForwarderConnectionChanged(
254 const MAKRti::DtString& connName,
const MAKRti::DtString& hostName,
255 unsigned int oldConnID,
unsigned int newConnID,
const DtInetAddrAndPort& connAddr );
261 static void waitingForFowrarderConnections(
264 virtual void waitingForFowrarderConnections(
272 static void notWaitingForFowrarderConnections(
void* usr );
273 virtual void notWaitingForFowrarderConnections();
279 MAKRti::DtTime interval );
286 virtual unsigned long connectionId()
const;
288 virtual MAKRti::DtString connectionName()
const;
289 virtual MAKRti::DtString connectionHostName()
const;
DtRtiForwarderObserver * myObserver
Definition: forwarderObserverMgr.h:61
bool operator<(const DtForwarderPortCbInfo &other) const
Definition: forwarderObserverMgr.h:55
std::pair< MAKRti::DtInetAddr, int > DtInetAddrAndPort
Definition: rtiUtil.h:147
void(* DtCallbackFcn)(const DtRtiMsg &msg, void *userData)
Definition: messageCallbackManager.h:39
DtRtiMsgKind
Definition: rtiMsgKind.h:9
std::set< DtMsgCbInfo > DtMsgCbSet
Definition: forwarderObserverMgr.h:301
~DtMsgCbInfo()
Definition: forwarderObserverMgr.h:74
DtMsgCbSet myMsgCbSet
Set of all registered message callbacks.
Definition: forwarderObserverMgr.h:313
const MAKRti::DtString & myConnName
Definition: forwarderObserverMgr.h:62
DtMsgCbInfo(DtRtiMsgKind msgKind, DtRtiMsgCbMgr::DtCallbackFcn fcn, DtRtiForwarderObserver *observer, bool isMomCallback)
Definition: forwarderObserverMgr.h:70
DtHlaVersionId
Definition: rtiVersion.h:41
unsigned int myConnID
Definition: forwarderObserverMgr.h:64
DtRtiMsgCbMgr::DtCallbackFcn myFcn
Definition: execObserverMgr.h:51
DtForwarderPortCbInfo(DtForwarderPortCbFn fcn, DtRtiForwarderObserver *observer, const MAKRti::DtString &connName, const MAKRti::DtString &hostName, unsigned int connID, MAKRti::DtInetAddr connAddr)
Definition: forwarderObserverMgr.h:41
DtRtiForwarderObserver * myObserver
Definition: forwarderObserverMgr.h:85
~DtForwarderPortCbInfo()
Definition: forwarderObserverMgr.h:53
std::set< DtForwarderPortCbInfo > DtForwarderPortCbSet
Definition: forwarderObserverMgr.h:303
std::set< DtTickCallbackInfo > DtTickCbSet
Definition: forwarderObserverMgr.h:302
std::list< DtBoost::shared_ptr< DtRtiForwarderObserver > > DtForwarderObsList
Definition: forwarderObserverMgr.h:304
void(* DtTickCbFn)(void *usr)
Tick callback function signatures.
Definition: exec.h:69
std::map< DtInetAddrAndPort, MAKRti::DtString > DtConnAndNameMap
Definition: forwarderPort.h:59
void(* DtForwarderPortCbFn)(const MAKRti::DtString &, const MAKRti::DtString &, unsigned int, MAKRti::DtInetAddr)
Tick callback function signatures.
Definition: forwarderObserverMgr.h:35
Definition: execObserverMgr.h:35
Definition: forwarderObserverMgr.h:38
bool myIsMomCallback
Definition: execObserverMgr.h:53
DtRtiMsgKind myMsgKind
Definition: execObserverMgr.h:50
The DtRtiForwarderObserver is the base class for all observers of RTI Forwarder events.
Definition: forwarderObserver.h:28
The DtRtiForwarderObserverMgr is the class which manages all RTI Forwarder observers.
Definition: forwarderObserverMgr.h:91
MAKRti::DtInetAddr myConnAddr
Definition: forwarderObserverMgr.h:65
DtRtiMsgForwarder manages connections and message distribution to local federates and remote Forwarde...
Definition: rtiMessageForwarder.h:58
bool operator<(const DtMsgCbInfo &other) const
Definition: forwarderObserverMgr.h:76
DtForwarderPortCbFn myFcn
Definition: forwarderObserverMgr.h:60
DtTickCbSet myTickCbSet
Set of all registered tick callbacks.
Definition: forwarderObserverMgr.h:316
const MAKRti::DtString & myConnHostName
Definition: forwarderObserverMgr.h:63
DtRtiexecObserver * myObserver
Definition: execObserverMgr.h:52
#define DT_DLL_FORWARDER
Definition: rtiMsConfig.h:124
DtBoost::shared_ptr< DtForwarderNode > myForwarder
The RTI Forwarder which is being observed.
Definition: forwarderObserverMgr.h:307
DtForwarderObsList myObservers
List of RTI Forwarder observers.
Definition: forwarderObserverMgr.h:310