14 #ifndef DtAsyncConnectionMgr_H_
15 #define DtAsyncConnectionMgr_H_
20 #include <vlutil/vlThreadSafe.h>
21 #include <vlutil/vlMutex.h>
36 class DtSelectParamWithWrite;
44 MAKRti::DtTransportType transport,
45 const MAKRti::DtInetAddr& addr = MAKRti::DtInetAddr::inaddrAny() );
64 DtBoost::shared_ptr<DtRtiAssistantLrcClient> assistantClient =
65 DtBoost::shared_ptr<DtRtiAssistantLrcClient>() );
85 virtual bool isAsynchronous();
91 #elif defined(DtIFSPEC13)
95 MAKRti::DtString fedExName,
101 virtual void queueMsg(
DtRtiMsg* msg,
102 MAKRti::DtTransportType transport,
103 const MAKRti::DtInetAddr& addr = MAKRti::DtInetAddr::inaddrAny() );
107 MAKRti::DtTransportType transport,
108 const MAKRti::DtInetAddr& addr = MAKRti::DtInetAddr::inaddrAny() );
113 MAKRti::DtTransportType transport,
114 const MAKRti::DtInetAddr& addr = MAKRti::DtInetAddr::inaddrAny() );
136 virtual bool flush();
139 virtual void workerThread();
143 virtual bool wait( MAKRti::DtTime periodInSeconds,
bool unlockWhileWaiting =
false );
155 #elif defined(DtIFSPEC1516E)
163 virtual HANDLE waitEvent();
168 #elif defined(DtIFSPEC1516E)
175 virtual int waitEvent();
180 virtual void signalReceiveEvent();
184 virtual void clearReceiveEvent();
188 virtual void signalSendEvent();
192 virtual void clearSendEvent();
195 virtual void yield();
200 virtual void doDisconnectFederation();
203 virtual bool doWait(MAKRti::DtTime period);
216 virtual bool sendPackets();
224 MAKRti::DtTransportType transportType,
unsigned int& receivedPacketCount);
230 virtual bool receivePackets();
236 unsigned int& receivedPacketCount);
240 virtual void processPendingMsgQueueCallbacks();
243 virtual void processPendingMsgMakeCallbacks();
246 virtual void setMessageTracking(
DtRtiMsg& msg);
250 virtual void waitOnIO();
252 virtual void waitOnIO(DtSelectParamWithWrite& params);
257 virtual void destroyPackets();
269 virtual void startAsynchronousProcessing();
272 virtual void stopAsynchronousProcessing();
278 DtBoost::shared_ptr<DtRtiAssistantLrcClient> assistantClient =
279 DtBoost::shared_ptr<DtRtiAssistantLrcClient>() );
283 static unsigned long run(
void* usr );
285 static void* run(
void* usr );
307 HANDLE myThreadHandle;
309 HANDLE* myWaitEvents;
310 unsigned int myNumWaitEvents;