![]() |
MAK RTIspy API Documentation for HLA 1.3
|
Distributes fomModule files from initiating federate to RtiExec and then from RtiExec to all joining federates. More...
Inheritance diagram for DtAsyncFileDistributorRunnable:
Collaboration diagram for DtAsyncFileDistributorRunnable:Public Member Functions | |
| DtAsyncFileDistributorRunnable (DtFedExec *parent) | |
| Fedex Constructor. | |
| virtual | ~DtAsyncFileDistributorRunnable () |
| Destructor. | |
| virtual std::auto_ptr < DtDistributorThreadEvent > | getNextEvent () |
| virtual void | postCommand (std::auto_ptr< DtFedExecDistribFunctor > cmd) |
| virtual void | setOnExitHandler (const DtDistributorThreadEvent &fn) |
| virtual void | registerUploadFedFileToExecEvent (const DtDistribFunctor &fn) |
| virtual void | registerFedFileRequestsEvent (const DtDistribFunctor &fn) |
| virtual void | registerRequestedModulesArrivedEvent (const DtDistribFunctor &fn) |
| virtual void | registerTakeFileEvent (const DtDistribFunctor &fn) |
| virtual void | registerPushFedFileToFederatesEvent (const DtDistribFunctor &fn) |
| virtual void | registerPushFedFileToSingleFederateEvent (const DtDistribFunctor &fn) |
| virtual void | run () |
| Thread Functions. | |
| virtual void | requestFedFileUploadToExec (const unsigned long initiatingFedID, const std::vector< DtString > *modules) |
| virtual bool | sendFedFile (const std::vector< DtString > &modules, DtFederateHandle recipient) |
| virtual void | fedFileUploaded (const DtString fileUploaded) |
| Called when Fom Module received successfully. | |
| void | processTakeFileCmd (std::map< DtString, DtFileInformation * >) |
| void | processPushFedFileToAllFederates (DtString name, int size, const char *buff, unsigned long destination) |
| void | processFileRequested (const DtFomModuleRequestMsg &cmd) |
| void | processFileReceived (const DtFomModuleDistributionMsg &cmd) |
| bool | requestsPending () const |
| Are there outstanding requests to be handled? | |
Public Member Functions inherited from DtFileDistributor | |
| virtual bool | sendFedFile (const std::vector< MAKRti::DtString > &modules) |
| Override sendFedFile upload fed files passed in. | |
| virtual bool | pushFedFile (DtConnectionMgr *connMgr, const MAKRti::DtString &fileName, const unsigned int fileSize, const char *fileBuffer, const DtFederateHandle destination=0) |
| pushFedFile | |
| virtual void | fedFileUploaded (const MAKRti::DtString fileUploaded) |
| Called when Fom Module received successfully. | |
| virtual bool | fileReceived (const DtFomModuleDistributionMsg &msg, bool &areAllHere) |
| virtual bool | fileRequested (const DtFomModuleRequestMsg &msg) |
| virtual void | removeFile (const MAKRti::DtString fileName) |
| Remove all knowledge of this file from myFiles. | |
| virtual void | removeFiles (const std::vector< MAKRti::DtString > &modules) |
| Remove all knowledge of these file from myFiles. | |
| virtual bool | fedFileReady (const MAKRti::DtString &fileName) const |
| Does the distributor have a valid copy of this fom Module. | |
| virtual bool | fedFilesReady (const std::vector< MAKRti::DtString > *fileNames) const |
| Does the distributor have a valid copy of all of these fom Modules. | |
| const FILE * | fedFilePtr (MAKRti::DtString fileName) const |
| Get the fed file pointer. | |
| const char * | fedFileBuff (MAKRti::DtString fileName) const |
| Get the fed file buffer. | |
| DtFileInformation * | takeFedFile (MAKRti::DtString fileName) |
| Take ownership of the file. | |
| unsigned int | fileSize (MAKRti::DtString fileName) const |
| FILE * | getTmpFile () |
| void | setFedHandle (unsigned int newHandle) |
| Set the Fed Handle of the distributor. | |
| void | setFedexHandle (unsigned int newHandle) |
Static Public Member Functions | |
| static DtAsyncFileDistributorRunnable * | create (DtFedExec *parent) |
Static Public Member Functions inherited from DtFileDistributor | |
| static void | setCreatorFunction (DtFileDistributorCreator fn) |
Protected Types | |
| typedef std::list < DtDistributorThreadEvent * > | DtDistributorThreadEventList |
| typedef std::pair < DtDistributorThreadEvent *, bool > | DtMsgFunctorIsMomMsgPair |
Protected Types inherited from DtFileDistributor | |
| typedef std::list< DtRtiMsg * > | rtiMsgList |
Protected Member Functions | |
| void | signalFrontEnd () const |
| bool | executeCommand () |
| void | processInternalCommands () |
| void | changeCallbackEvents (const DtDistribFunctorChangeRequest &fn) |
| void | clearEventList (rtiMsgList &theEventList) |
Protected Member Functions inherited from DtFileDistributor | |
| DtFileDistributor (const int fedExHandle, const int federateHandle, const MAKRti::DtString &fedExName) | |
| Constructor. | |
| virtual | ~DtFileDistributor () |
| Destructor. | |
Private Member Functions | |
| DtAsyncFileDistributorRunnable () | |
| DtAsyncFileDistributorRunnable (const DtAsyncFileDistributorRunnable &orig) | |
| DtAsyncFileDistributorRunnable & | operator= (const DtAsyncFileDistributorRunnable &orig) |
Private Attributes | |
| DtFedExec * | myFedEx |
Additional Inherited Members | |
Static Protected Attributes inherited from DtFileDistributor | |
| static DtFileDistributorCreator | theCreator = 0 |
Distributes fomModule files from initiating federate to RtiExec and then from RtiExec to all joining federates.
|
protected |
|
protected |
| DtAsyncFileDistributorRunnable::DtAsyncFileDistributorRunnable | ( | DtFedExec * | parent | ) |
Fedex Constructor.
|
virtual |
Destructor.
References myStopped.
|
private |
Referenced by create().
|
private |
|
protected |
References DtDistribFunctorChangeRequest::BackendExited, DtDistributorThreadEvent::clone(), DtDistribFunctorChangeRequest::FedFileReceived, DtDistribFunctorChangeRequest::FedFileRequested, DtDistribFunctorChangeRequest::myAddition, myFedFileReceivedEvents, myFedFileRequestedEvents, DtDistribFunctorChangeRequest::myFunctor, myOnExitEvent, myPushFedFileToAllFederatesEvents, myPushFedFileToSingleFederateEvents, myRequestedModuleArrivedEvents, myTakeFileEvents, DtDistribFunctorChangeRequest::myType, myUploadRequestEvents, DtDistribFunctorChangeRequest::PushFedFileToAllFederates, DtDistribFunctorChangeRequest::PushFedFileToSingleFederate, DtDistribFunctorChangeRequest::RequestedModuleArrived, DtDistribFunctorChangeRequest::RtiMsg, DtDistribFunctorChangeRequest::TakeFile, and DtDistribFunctorChangeRequest::UploadToExec.
Referenced by processInternalCommands().
|
protected |
|
static |
References DtAsyncFileDistributorRunnable().
|
protected |
References myEventQueue, myPendingCommands, DtThreadSafeQueue< T >::pop(), DtThreadSafeQueue< T >::push_back(), and signalFrontEnd().
Referenced by run().
|
virtual |
Called when Fom Module received successfully.
References myEventQueue, myRequestedModuleArrivedEvents, and DtThreadSafeQueue< T >::push_back().
Referenced by processFileReceived().
|
virtual |
References myEventQueue, and DtThreadSafeQueue< T >::pop().
Referenced by DtFedExec::processEvents().
|
private |
|
virtual |
References myPendingCommands, and DtThreadSafeQueue< T >::push_back().
Referenced by DtFedExec::createDistributor(), DtFedExec::multFileReceivedCb(), DtFedExec::multFileRequestedCb(), DtFedExec::processJoin(), DtFedExec::processRequestedModulesArrived(), DtFedExec::pushFomModuleToJoinedFederates(), and DtFedExec::requestFedFileUpload().
| void DtAsyncFileDistributorRunnable::processFileReceived | ( | const DtFomModuleDistributionMsg & | cmd | ) |
| void DtAsyncFileDistributorRunnable::processFileRequested | ( | const DtFomModuleRequestMsg & | cmd | ) |
|
protected |
References changeCallbackEvents(), myInternalCmdQueue, and DtThreadSafeQueue< T >::pop().
Referenced by run().
| void DtAsyncFileDistributorRunnable::processPushFedFileToAllFederates | ( | DtString | name, |
| int | size, | ||
| const char * | buff, | ||
| unsigned long | destination | ||
| ) |
References myPushFedFileToAllFederatesEvents.
| void DtAsyncFileDistributorRunnable::processTakeFileCmd | ( | std::map< DtString, DtFileInformation * > | files | ) |
|
virtual |
References DtDistribFunctorChangeRequest::FedFileRequested, myInternalCmdQueue, and DtThreadSafeQueue< T >::push_back().
Referenced by DtFedExec::createDistributor().
|
virtual |
References myInternalCmdQueue, DtThreadSafeQueue< T >::push_back(), and DtDistribFunctorChangeRequest::PushFedFileToAllFederates.
Referenced by DtFedExec::createDistributor().
|
virtual |
|
virtual |
References myInternalCmdQueue, DtThreadSafeQueue< T >::push_back(), and DtDistribFunctorChangeRequest::RequestedModuleArrived.
Referenced by DtFedExec::createDistributor().
|
virtual |
References myInternalCmdQueue, DtThreadSafeQueue< T >::push_back(), and DtDistribFunctorChangeRequest::TakeFile.
Referenced by DtFedExec::createDistributor().
|
virtual |
|
virtual |
References myEventQueue, myFedFileRequestedEvents, and DtThreadSafeQueue< T >::push_back().
Referenced by DtGetFileFromDistributorCmd::operator()().
| bool DtAsyncFileDistributorRunnable::requestsPending | ( | ) | const |
Are there outstanding requests to be handled?
Reimplemented from DtFileDistributor.
References DtFileDistributor::myPendingRequests.
|
virtual |
Thread Functions.
References RTI::Exception::_name, RTI::Exception::_reason, DtInitialException(), DtToString(), executeCommand(), myEventQueue, myOnExitEvent, myStopped, DtAssistantPopupHelper::popupAssistantMessage(), processInternalCommands(), DtThreadSafeQueue< T >::push_back(), rti1516::Exception::what(), and rti1516e::Exception::what().
|
virtual |
References myEventQueue, DtFileDistributor::myFiles, myPushFedFileToAllFederatesEvents, DtThreadSafeQueue< T >::push_back(), and DtFileDistributor::sendFedFile().
Referenced by processFileRequested().
|
virtual |
|
protected |
References mySignal.
Referenced by executeCommand().
|
protected |
Referenced by executeCommand(), fedFileUploaded(), getNextEvent(), processTakeFileCmd(), requestFedFileUploadToExec(), run(), and sendFedFile().
|
private |
|
protected |
Referenced by changeCallbackEvents(), and processFileReceived().
|
protected |
Referenced by changeCallbackEvents(), and requestFedFileUploadToExec().
|
protected |
|
protected |
Referenced by changeCallbackEvents(), and run().
|
protected |
Referenced by executeCommand(), and postCommand().
|
protected |
Referenced by changeCallbackEvents(), processPushFedFileToAllFederates(), and sendFedFile().
|
protected |
Referenced by changeCallbackEvents().
|
protected |
Registered event functors.
Referenced by changeCallbackEvents(), and fedFileUploaded().
|
protected |
Referenced by signalFrontEnd().
|
protected |
Referenced by run(), and ~DtAsyncFileDistributorRunnable().
|
protected |
Referenced by changeCallbackEvents(), and processTakeFileCmd().
|
protected |
Referenced by changeCallbackEvents().