![]() |
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:Distributes fomModule files from initiating federate to RtiExec and then from RtiExec to all joining federates.
typedef std::list<DtDistributorThreadEvent*> DtAsyncFileDistributorRunnable::DtDistributorThreadEventList [protected] |
typedef std::pair< DtDistributorThreadEvent*, bool> DtAsyncFileDistributorRunnable::DtMsgFunctorIsMomMsgPair [protected] |
Fedex Constructor.
Destructor.
References myStopped.
Referenced by create().
| DtAsyncFileDistributorRunnable::DtAsyncFileDistributorRunnable | ( | const DtAsyncFileDistributorRunnable & | orig | ) | [private] |
| void DtAsyncFileDistributorRunnable::changeCallbackEvents | ( | const DtDistribFunctorChangeRequest & | fn | ) | [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().
| void DtAsyncFileDistributorRunnable::clearEventList | ( | rtiMsgList & | theEventList | ) | [protected] |
| DtAsyncFileDistributorRunnable * DtAsyncFileDistributorRunnable::create | ( | DtFedExec * | parent | ) | [static] |
References DtAsyncFileDistributorRunnable().
| bool DtAsyncFileDistributorRunnable::executeCommand | ( | ) | [protected] |
References myEventQueue, myPendingCommands, DtThreadSafeQueue< T >::pop(), DtThreadSafeQueue< T >::push_back(), and signalFrontEnd().
Referenced by run().
| void DtAsyncFileDistributorRunnable::fedFileUploaded | ( | const DtString | fileUploaded | ) | [virtual] |
Called when Fom Module received successfully.
References myEventQueue, myRequestedModuleArrivedEvents, and DtThreadSafeQueue< T >::push_back().
Referenced by processFileReceived().
| std::auto_ptr< DtDistributorThreadEvent > DtAsyncFileDistributorRunnable::getNextEvent | ( | ) | [virtual] |
References myEventQueue, and DtThreadSafeQueue< T >::pop().
Referenced by DtFedExec::processEvents().
| DtAsyncFileDistributorRunnable& DtAsyncFileDistributorRunnable::operator= | ( | const DtAsyncFileDistributorRunnable & | orig | ) | [private] |
| void DtAsyncFileDistributorRunnable::postCommand | ( | std::auto_ptr< DtFedExecDistribFunctor > | cmd | ) | [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 | ) |
| void DtAsyncFileDistributorRunnable::processInternalCommands | ( | ) | [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 | ) |
| void DtAsyncFileDistributorRunnable::registerFedFileRequestsEvent | ( | const DtDistribFunctor & | fn | ) | [virtual] |
References DtDistribFunctorChangeRequest::FedFileRequested, myInternalCmdQueue, and DtThreadSafeQueue< T >::push_back().
Referenced by DtFedExec::createDistributor().
| void DtAsyncFileDistributorRunnable::registerPushFedFileToFederatesEvent | ( | const DtDistribFunctor & | fn | ) | [virtual] |
References myInternalCmdQueue, DtThreadSafeQueue< T >::push_back(), and DtDistribFunctorChangeRequest::PushFedFileToAllFederates.
Referenced by DtFedExec::createDistributor().
| void DtAsyncFileDistributorRunnable::registerPushFedFileToSingleFederateEvent | ( | const DtDistribFunctor & | fn | ) | [virtual] |
| void DtAsyncFileDistributorRunnable::registerRequestedModulesArrivedEvent | ( | const DtDistribFunctor & | fn | ) | [virtual] |
References myInternalCmdQueue, DtThreadSafeQueue< T >::push_back(), and DtDistribFunctorChangeRequest::RequestedModuleArrived.
Referenced by DtFedExec::createDistributor().
| void DtAsyncFileDistributorRunnable::registerTakeFileEvent | ( | const DtDistribFunctor & | fn | ) | [virtual] |
References myInternalCmdQueue, DtThreadSafeQueue< T >::push_back(), and DtDistribFunctorChangeRequest::TakeFile.
Referenced by DtFedExec::createDistributor().
| void DtAsyncFileDistributorRunnable::registerUploadFedFileToExecEvent | ( | const DtDistribFunctor & | fn | ) | [virtual] |
| void DtAsyncFileDistributorRunnable::requestFedFileUploadToExec | ( | const unsigned long | initiatingFedID, |
| const std::vector< DtString > * | modules | ||
| ) | [virtual] |
References myEventQueue, myFedFileRequestedEvents, and DtThreadSafeQueue< T >::push_back().
Referenced by DtGetFileFromDistributorCmd::operator()().
Are there outstanding requests to be handled?
Reimplemented from DtFileDistributor.
References DtFileDistributor::myPendingRequests.
| void DtAsyncFileDistributorRunnable::run | ( | ) | [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().
| bool DtAsyncFileDistributorRunnable::sendFedFile | ( | const std::vector< DtString > & | modules, |
| DtFederateHandle | recipient | ||
| ) | [virtual] |
References myEventQueue, DtFileDistributor::myFiles, myPushFedFileToAllFederatesEvents, DtThreadSafeQueue< T >::push_back(), and DtFileDistributor::sendFedFile().
Referenced by processFileRequested().
| void DtAsyncFileDistributorRunnable::setOnExitHandler | ( | const DtDistributorThreadEvent & | fn | ) | [virtual] |
| void DtAsyncFileDistributorRunnable::signalFrontEnd | ( | ) | const [protected] |
References mySignal.
Referenced by executeCommand().
DtThreadSafeQueue<DtDistributorThreadEvent> DtAsyncFileDistributorRunnable::myEventQueue [protected] |
Referenced by executeCommand(), fedFileUploaded(), getNextEvent(), processTakeFileCmd(), requestFedFileUploadToExec(), run(), and sendFedFile().
DtFedExec* DtAsyncFileDistributorRunnable::myFedEx [private] |
Referenced by changeCallbackEvents(), and processFileReceived().
Referenced by changeCallbackEvents(), and requestFedFileUploadToExec().
std::auto_ptr<DtDistributorThreadEvent> DtAsyncFileDistributorRunnable::myOnExitEvent [protected] |
Referenced by changeCallbackEvents(), and run().
DtThreadSafeQueue<DtDistributorThreadEvent> DtAsyncFileDistributorRunnable::myPendingCommands [protected] |
Referenced by executeCommand(), and postCommand().
DtDistributorThreadEventList DtAsyncFileDistributorRunnable::myPushFedFileToAllFederatesEvents [protected] |
Referenced by changeCallbackEvents(), processPushFedFileToAllFederates(), and sendFedFile().
DtDistributorThreadEventList DtAsyncFileDistributorRunnable::myPushFedFileToSingleFederateEvents [protected] |
Referenced by changeCallbackEvents().
DtDistributorThreadEventList DtAsyncFileDistributorRunnable::myRequestedModuleArrivedEvents [protected] |
Registered event functors.
Referenced by changeCallbackEvents(), and fedFileUploaded().
std::auto_ptr<DtFedExecDistribFunctor> DtAsyncFileDistributorRunnable::mySignal [protected] |
Referenced by signalFrontEnd().
bool DtAsyncFileDistributorRunnable::myStopped [protected] |
Referenced by run(), and ~DtAsyncFileDistributorRunnable().
Referenced by changeCallbackEvents(), and processTakeFileCmd().
Referenced by changeCallbackEvents().