12 #ifndef DtFileDistributor_H_
13 #define DtFileDistributor_H_
16 #include <vlutil/vlFilename.h>
40 const MAKRti::DtString& fedExName,
50 unsigned int numBlocks = 0,
53 bool fullyReceived =
false,
54 unsigned int fileSize = 0,
69 for (
unsigned int iter(0); iter < numBlocks; ++iter)
133 const int federateHandle,
134 const MAKRti::DtString& fedExName );
148 virtual bool sendFedFile(
const std::vector<MAKRti::DtString>& modules);
151 virtual bool pushFedFile(
DtConnectionMgr* connMgr,
const MAKRti::DtString& fileName,
152 const unsigned int fileSize,
153 const char* fileBuffer,
158 virtual void fedFileUploaded(
const MAKRti::DtString fileUploaded);
165 virtual void removeFile(
const MAKRti::DtString fileName );
168 virtual void removeFiles(
const std::vector<MAKRti::DtString>& modules );
172 virtual bool fedFileReady(
const MAKRti::DtString& fileName)
const;
175 virtual bool fedFilesReady(
const std::vector<MAKRti::DtString>* fileNames )
const;
178 const FILE* fedFilePtr(MAKRti::DtString fileName)
const;
181 const char * fedFileBuff( MAKRti::DtString fileName )
const;
187 unsigned int fileSize(MAKRti::DtString fileName)
const;
194 void setFedHandle(
unsigned int newHandle);
196 void setFedexHandle(
unsigned int newHandle );
199 bool requestsPending()
const;
216 std::map<MAKRti::DtString, DtFileInformation*>
myFiles;
Definition: fileDistributor.h:33
DtDistributorType_enum
Definition: fileDistributor.h:31
std::map< MAKRti::DtString, DtFileInformation * > myFiles
Map between files that have been uploaded to me and their 'file names'.
Definition: fileDistributor.h:216
Distributes fomModule files from initiating federate to RtiExec and then from RtiExec to all joining ...
Definition: fileDistributor.h:126
Definition: fileDistributor.h:34
DtFileDistributor *(* DtFileDistributorCreator)(const int fedEx, const MAKRti::DtString &fedExName, DtConnectionMgr *connMgr)
Definition: fileDistributor.h:39
int myFederateHandle
Definition: fileDistributor.h:221
std::set< std::pair< DtFederateHandle, MAKRti::DtString > > myPendingRequests
Definition: fileDistributor.h:217
This file contains the declaration of the Connection Manager.
Sent by Federates to request fed file from RtiExec.
Definition: fomModuleRequestMsg.h:24
Instances of DtConnectionMgr manage the communication objects that the RTI will use to either communi...
Definition: connectMgr.h:67
DtHandle DtFederateHandle
Definition: internalTypes.h:46
MAKRti::DtString myFedExName
Definition: fileDistributor.h:219
int myFedExHandle
Definition: fileDistributor.h:220
Definition: fomModuleDistributionMsg.h:25
static DtFileDistributorCreator theCreator
Definition: fileDistributor.h:228
std::map< MAKRti::DtString, FILE * > myTempFileHandles
Definition: fileDistributor.h:222
enum DtDistributorType_enum DtDistributorType
#define DT_DLL_LRC
Definition: rtiMsConfig.h:155
std::list< DtRtiMsg * > rtiMsgList
Definition: fileDistributor.h:226