12 #ifndef DtDistributorThreadEvents_H_
13 #define DtDistributorThreadEvents_H_
20 #include <vlutil/vlString.h>
51 return (
typeid( *
this ) ==
typeid( value ));
78 const unsigned long ID) :
110 const char* fileBuff,
unsigned long fileSize,
111 const unsigned int ID ) :
113 myFileSize(fileSize), myDestination(ID) {}
118 myFileBuffer, myFileSize, myDestination); }
163 const std::map<DtString, DtFileInformation*>& files ) :
165 myFiles(files), myInitiatorID(ID) {};
167 const std::vector<DtString>& fileNames);
174 std::map<DtString, DtFileInformation*>
myFiles;
215 virtual void operator()(
const std::vector<DtString>& fileNames);
230 virtual void operator()(
const std::vector<DtString>& fileNames,
unsigned long fedID);
244 virtual void operator()(
const std::map<DtString, DtFileInformation*>& fileNames );
259 virtual void operator()(
const std::vector<DtString>& files );
291 virtual void operator()(DtString name,
int fileSize,
const char* buff);
314 mySingleFederate = recipientHandle;
342 bool addition =
true ):
344 myAddition( addition ),
345 myFunctor( newFunctor.clone() ),
354 bool isMomMsg =
false) :
356 myAddition( addition ),
357 myFunctor( newFunctor.clone() ),
359 myIsMomMsg( isMomMsg )
363 myType( orig.myType ),
364 myAddition( orig.myAddition ),
365 myFunctor( orig.myFunctor->clone() ),
366 myMsgKind( orig.myMsgKind ),
367 myIsMomMsg( orig.myIsMomMsg )
375 myMsgKind, myIsMomMsg );
380 if (
this == &orig )
return *
this;
403 #endif //DtDistributorThreadEvents_H_
bool myIsMomMsg
Definition: distributorThreadEvents.h:397
virtual void operator()(const DtAsyncFileDistributorRunnable &dist)
Definition: distributorThreadEvents.h:200
virtual ~DtDistributorThreadEvent()
Definition: distributorThreadEvents.h:42
Definition: distributorThreadEvents.h:221
virtual DtDistributorThreadEvent * clone() const
Definition: distributorThreadEvents.h:83
virtual DtDistributorThreadEvent * clone() const
Definition: distributorThreadEvents.h:99
Definition: distributorThreadEvents.h:106
DtRtiMsgKind myMsgKind
Definition: distributorThreadEvents.h:396
DtRtiMsgKind
Definition: rtiMsgKind.h:9
unsigned long myInitiatorID
Definition: distributorThreadEvents.h:103
DtFederateHandle mySingleFederate
Definition: distributorThreadEvents.h:317
int myFileSize
Definition: distributorThreadEvents.h:295
virtual ~DtDistribFunctorChangeRequest()
Definition: distributorThreadEvents.h:370
FedExec Functor Classes.
Definition: distributorThreadEvents.h:65
std::vector< DtString > myFileNames
Definition: distributorThreadEvents.h:233
DtPushFedFileToFederatesEvent(DtFedExec *parent)
Definition: distributorThreadEvents.h:285
virtual DtDistribFunctorChangeRequest & operator=(const DtDistribFunctorChangeRequest &orig)
Definition: distributorThreadEvents.h:378
DtDistribFunctorChangeRequest(EventType type, const DtDistributorThreadEvent &newFunctor, bool addition, DtRtiMsgKind kind, bool isMomMsg=false)
Definition: distributorThreadEvents.h:350
DtFileReceivedEvent(DtFedExec *parent)
Definition: distributorThreadEvents.h:268
virtual DtDistributorThreadEvent * clone() const
Definition: distributorThreadEvents.h:133
virtual DtDistributorThreadEvent * clone() const
Definition: distributorThreadEvents.h:307
Definition: distributorThreadEvents.h:333
DtFedFileRequestMsgEvent(DtFedExec *parent)
Definition: distributorThreadEvents.h:224
virtual DtFomModuleRequestMsgCmd * clone() const
Definition: distributorThreadEvents.h:148
DtFomModuleDistributionMsg myMsg
Definition: distributorThreadEvents.h:279
DtFedexDistributionEvent(DtFedExec *parent)
Definition: distributorThreadEvents.h:198
std::map< DtString, DtFileInformation * > myFileNames
Definition: distributorThreadEvents.h:247
virtual void processResults()
Derived events may override processResults to collect functor results without casting to dynamic type...
Definition: distributorThreadEvents.h:56
bool myAddition
Definition: distributorThreadEvents.h:394
virtual DtDistributorThreadEvent * clone() const
Definition: distributorThreadEvents.h:255
std::vector< DtString > myFileNames
Definition: distributorThreadEvents.h:262
DtString myFileName
Definition: distributorThreadEvents.h:294
const char * myFileBuffer
Definition: distributorThreadEvents.h:120
Definition: distributorThreadEvents.h:301
Sent by Federates to request fed file from RtiExec.
Definition: fomModuleRequestMsg.h:28
virtual DtDistributorThreadEvent * clone() const
Definition: distributorThreadEvents.h:271
Definition: federate.h:39
unsigned long myInitiatingID
Definition: distributorThreadEvents.h:234
Definition: distributorThreadEvents.h:127
const char * myBuff
Definition: distributorThreadEvents.h:296
Instances of DtRtiExecFederateMgr process federation-level messages (such as create, destroy, join, resign, and sync points) for HLA applications that are using the rtiexec.
Definition: execFedMgr.h:66
Definition: distributorThreadEvents.h:332
virtual DtDistributorThreadEvent * clone() const
Definition: distributorThreadEvents.h:372
unsigned long myInitiatorID
Definition: distributorThreadEvents.h:154
virtual void processResults()
Derived events may override processResults to collect functor results without casting to dynamic type...
Definition: distributorThreadEvents.h:143
Definition: distributorThreadEvents.h:74
DtDistributorThreadEvent * myFunctor
Definition: distributorThreadEvents.h:395
Definition: distributorThreadEvents.h:330
DtRequestedModulesArrivedEvent(DtFedExec *parent)
Definition: distributorThreadEvents.h:208
DtPushFedFileToSingleFederateEvent(DtFedExec *parent)
Definition: distributorThreadEvents.h:304
Definition: distributorThreadEvents.h:265
virtual bool operator==(const DtDistributorThreadEvent &value)
The default comparison uses RTTI typeid to treat functor as a standard function pointer (ie - same fu...
Definition: distributorThreadEvents.h:49
EventType
Definition: distributorThreadEvents.h:328
std::vector< DtString > myFileNames
Definition: distributorThreadEvents.h:88
DtHandle DtFederateHandle
Definition: internalTypes.h:29
Definition: distributorThreadEvents.h:282
const DtFomModuleRequestMsg myMsg
Definition: distributorThreadEvents.h:153
Definition: distributorThreadEvents.h:205
virtual DtDistributorThreadEvent * clone() const
Definition: distributorThreadEvents.h:243
std::vector< DtString > myFileNames
Definition: distributorThreadEvents.h:102
DtFedExec * myParent
Definition: distributorThreadEvents.h:202
EventType myType
Definition: distributorThreadEvents.h:393
End Fedex Specific Event Definitions.
Definition: distributorThreadEvents.h:325
virtual void operator()(DtString name, int fileSize, const char *buff)
DtFomModuleRequestMsgCmd(unsigned long ID, const DtFomModuleRequestMsg msg)
Definition: distributorThreadEvents.h:146
Definition: fomModuleDistributionMsg.h:25
virtual DtDistributorThreadEvent * clone() const
Definition: distributorThreadEvents.h:287
and provides a very basic functor comparison operator
Definition: distributorThreadEvents.h:38
unsigned long myDestination
Definition: distributorThreadEvents.h:123
unsigned long myInitiatorID
Definition: distributorThreadEvents.h:89
unsigned long myInitiatorID
Definition: distributorThreadEvents.h:139
virtual DtDistributorThreadEvent * clone() const
Definition: distributorThreadEvents.h:116
virtual DtDistributorThreadEvent * clone() const
Definition: distributorThreadEvents.h:226
Distributes fomModule files from initiating federate to RtiExec and then from RtiExec to all joining ...
Definition: asynchronousFileDistributor.h:33
DtDistribFunctorChangeRequest(const DtDistribFunctorChangeRequest &orig)
Definition: distributorThreadEvents.h:362
End Functor FedExec Functor Classes.
Definition: distributorThreadEvents.h:185
DtString myFileName
Definition: distributorThreadEvents.h:122
Definition: distributorThreadEvents.h:335
unsigned long myInitiatorID
Definition: distributorThreadEvents.h:175
virtual void operator()(DtString name, int fileSize, const char *buff, DtFederateHandle recipientHandle)
Definition: distributorThreadEvents.h:311
Definition: distributorThreadEvents.h:238
unsigned long myFileSize
Definition: distributorThreadEvents.h:121
const DtFomModuleDistributionMsg myMsg
Definition: distributorThreadEvents.h:138
virtual ~DtFedExecDistribFunctor()
Definition: distributorThreadEvents.h:69
virtual ~DtPushFilesToAllFederatesCmd()
Definition: distributorThreadEvents.h:114
Definition: distributorThreadEvents.h:329
DtFedexTakeFileCmd(unsigned long ID, const std::map< DtString, DtFileInformation * > &files)
Definition: distributorThreadEvents.h:162
virtual DtDistributorThreadEvent * clone() const
Clone does not copy internal data!
Definition: distributorThreadEvents.h:169
DtDistribFunctorChangeRequest(EventType type, const DtDistributorThreadEvent &newFunctor, bool addition=true)
Definition: distributorThreadEvents.h:340
virtual DtDistributorThreadEvent * clone() const
Definition: distributorThreadEvents.h:211
Take these files.
Definition: distributorThreadEvents.h:159
Definition: distributorThreadEvents.h:250
Definition: distributorThreadEvents.h:331
Fedex Specific Event Definitions.
Definition: distributorThreadEvents.h:195
virtual ~DtFedexRemoveFileCmd()
Definition: distributorThreadEvents.h:97
virtual ~DtDistribFunctor()
Definition: distributorThreadEvents.h:188
virtual DtDistributorThreadEvent * clone() const =0
DtFileRequestedEvent(DtFedExec *parent)
Definition: distributorThreadEvents.h:253
Definition: distributorThreadEvents.h:334
DtPushFilesToAllFederatesCmd(const DtString fileName, const char *fileBuff, unsigned long fileSize, const unsigned int ID)
Definition: distributorThreadEvents.h:109
virtual ~DtGetFileFromDistributorCmd()
Definition: distributorThreadEvents.h:81
#define DT_DLL_EXEC
Definition: rtiMsConfig.h:123
virtual void operator()(const DtAsyncFileDistributorRunnable &dist)=0
std::vector< DtString > myFileNames
Definition: distributorThreadEvents.h:218
DtDistributionMsgCmd(unsigned long ID, const DtFomModuleDistributionMsg msg)
Definition: distributorThreadEvents.h:130
Definition: distributorThreadEvents.h:92
DtFedexRemoveFileCmd(unsigned long ID, const std::vector< DtString > &fileNames)
Definition: distributorThreadEvents.h:95
Definition: distributorThreadEvents.h:336
std::map< DtString, DtFileInformation * > myFiles
Definition: distributorThreadEvents.h:174
DtGetFileFromDistributorCmd(const std::vector< DtString > &fileNames, const unsigned long ID)
Definition: distributorThreadEvents.h:77
DtFedExTakeFileEvent(DtFedExec *parent)
Definition: distributorThreadEvents.h:241